Github Actions ile Unity Build
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.