Bagaimana sistem otomatisasi build membantu kami rilis selalu (hampir) bersamaan di Android dan iOS

Photo by Christina @ wocintechchat.com on Unsplash

Sudah menjadi rahasia umum di kalangan game developer, kalau mempublikasikan game di platform yang berbeda, akan membutuhkan tantangan yang berbeda pula. Di platform mobile, misalnya. Secara umum, publikasi di iOS biasanya lebih menantang daripada di Android, dikarenakan akses ke Apple Device yang terbatas, langkah build Unity yang lebih panjang, dan lain sebagainya.

Sebagai salah satu studio game yang melantai di platform mobile, tim kami memiliki satu Pilar : selalu berusaha rilis di Android dan iOS secara bersamaan. Disinilah otomatisasi build berperan. Build automation memberikan beberapa manfaat seperti iterasi development menjadi jauh lebih cepat, platform-specific bug akan lebih mudah dideteksi, dan juga mengurangi human error dari proses build itu sendiri.

Berikut adalah beberapa kaidah yang kita gunakan dalam proses build automation.

Daily Build

build “Sandbox” yang di-trigger setiap hari

Dengan adanya daily build, keesokan harinya tim kami dapat mengecek apakah ada error dalam proses build. Selain itu, fitur — fitur yang sudah diimplementasikan di hari sebelumnya, dapat langsung di cek di device, sehingga testing lebih akurat.

Multiple Build Configuration

  • Sandbox (SBOX). Bertujuan untuk test sehari-hari. Enable cheat, Test server, disable third-party services.
  • Production (PROD). Build untuk release ke user. Disable cheat, production server, enable third-party services.
  • Game Master (GM). Build khusus untuk testing third-party dan video recording. Enable cheat, test server, enable third-party services.

Semua konfigurasi tersebut akan di-trigger di daily build, sehingga server akan build setidaknya 6 konfigurasi untuk 1 project (3 konfigurasi pada 2 platform). Disinilah pentingnya mewujudkan build automation server.

Build dengan berbagai konfigurasi untuk game Rocky Rampage. Didistribusikan melalui Microsoft App Center.

On-Demand Build

Window untuk trigger build di commit pada branch tertentu

Release Build

Continous Integration / Continuous Delivery

Psst, kami sedang hiring! Cek posisi yang tersedia disini, ya!

Chief Technology Officer at Joyseed Gametribe, a game developer based on Indonesia.

Chief Technology Officer at Joyseed Gametribe, a game developer based on Indonesia.