Github Actions ile Unity Build

Barış Can Yılmaz
Bursa I/O
Published in
2 min readMay 22, 2021

Bu yazımda size Github Actions ile Unity projeleri için nasıl build alacağınızı göstereceğim. Örneğimizde Android için aab dosyasını oluşturacağız.

Örneğimizde GameCI’ın Builder actionını kullanacağız ancak bu actionı kullanabilmemiz için ilk önce Unity’den lisans dosyası almamız gerekli. Bu işlemi de yine GameCI’ın Activate actionı ile yapacağız.

Unity Activate Kurulumu

Root klasörde .github adında klasör oluşturup altında workflows adında klasör oluşturuyoruz. İlk olarak lisansımızı aktif edeceğimiz için activation.yml dosyasını oluşturuyoruz.

activation.yml dosyasının içeriği yukarıda ki gibi dolduracağız.

workflow_dispach ile iş akışımızın manuel olarak tetikleneceğini belirtiyoruz.unityVersion ile kullandığımız Unity versiyonunu belirtiyoruz.

Bu işlemlerden sonra iş akışını çalıştırdığımızda Github bize Unity_20xx.alf uzantılı bir dosya vermekte. Bu dosyayı license.unity3d.com’a yükleyip ilgili adımları takip ediyoruz. Bu adımlardan sonra Unity bize Unity_Vx.ulf uzantılı bir dosya verecek. Projemizin bulunduğu repositoryde UNITY_LICENSE isminde secret oluşturuyoruz. Saklayacağı değer için Unity’nin bize vermiş olduğu dosyanın içeriğini ekliyoruz.

Bu işlemlerden sonra build işlemine geçebiliriz.

Unity Build Alma

Build işlemi için workflows klasörü altında main.yml adında bir dosya oluşturuyoruz.

main.yml dosyamızı yukarıda ki gibi dolduruyoruz. push:tags ile yeni bir tag eklendiğinde iş akışını tetikliyoruz. Bu sayede sadece yeni versiyon oluşturduğumuzda build almış oluyoruz. workflow_dispatch ile manuel olarak istediğimiz zaman build alabiliyoruz.

Makalenin başında aab dosyası oluşturacağımızı belirtmiştik bunun için androidAppBundle değerini true yapıyoruz. aab dosyamızı imzalayabilmemiz için Unity ile oluşturduğumuz keystore bilgilerini de secret olarak ekliyoruz.

Github, manuel olarak veya yeni versiyon oluşturulduğunda bizim için build alacak.

GameCI’ın Android ve iOS için deployment actionları kullanarak elde edilen buildler Google Play ve App Store otomatik olarak da yüklenebilir.

Geliştirdiğim Color Blocks oyununu desteklemeyi unutmayın.

Kaynaklar:

LinkedIn|GitHub|Twitter|Medium|BursaIO|Hashnode

--

--