GitLab CI untuk .NET Developer Bagian #2

Posted by Kamarudin • 2 minute read • Comments

Melanjutkan pembahasan tentang Continuous Integration menggunakan GitLab CI. Di postingan sebelumnya kita sudah melakukan konfigurasi GitLab CI dengan menambahkan file .gitlab-ci.yml.

Di konfigurasi awal ini kita sudah menambahkan dua job yang bertugas untuk merestore paket nuget dan melakukan proses build. Berikutnya kita akan menambahkan satu job lagi yang bertugas untuk membuat paket instalasi menggunakan Inno Setup jika job pertama dan kedua berhasil dijalankan. Nah dengan menggunakan CI semua proses ini bisa dilakukan secara otomatis dan terpusat, sehingga kita mempunyai histori hasil build dari waktu ke waktu. Jadi untuk mencari file setup/paket installer terakhir enggak usah lagi nanya ke developer karena bisa langsung kita download dari server CI-nya.

Inno Setup

Inno Setup adalah tool yang digunakan untuk membuat paket installer yang gratis dan open source. Selain Inno Setup, kita juga bisa menggunakan tool installer lainnya seperti NSIS. Untuk informasi lebih lanjut tentang Inno Setup dan NSIS bisa langsung ke sini dan sini.

Jadi di postingan kali ini kita akan menggunakan Inno Setup untuk keperluan pembuatan file setup/paket installer. Sebagai contoh, berikut adalah skrip Inno Setup yang digunakan untuk membuat file setup/paket installer untuk project Northwind yang kita gunakan sebagai contoh project.

Skrip Inno Setup ini kita tambahkan ke folder yang sama dengan folder source code kemudian kita simpan juga ke repository git.

Menambahkan Job untuk Membuat Paket Instalasi

Setelah menambahkan file Inno Setup, langkah berikutnya adalah kita mengedit file .gitlab-ci.yml untuk menambahkan job baru yang bertugas untuk mengeksekusi file setup.iss

Berikut isi file .gitlab-ci.yml yang sudah kita edit:

Coba perhatikan skrip di atas, di baris ke-4 kita menambahkan variabel InnoSetupPath yang isinya adalah lokasi file ISCC.exe yang digunakan untuk mengompile skrip inno setup. Kemudian di baris ke-10 kita menambahkan stage baru dengan nama setup yang digunakan untuk job baru yang akan kita tambahkan yaitu job create_file_setup. Terakhir di baris ke-29, kita menambahkan job baru dengan nama create_file_setup. Job ini akan melakukan proses kompilasi skrip inno setup menjadi file setup/paket instalasi (baris ke-33), kemudian mengupload ke server GitLab. Untuk keperluan upload ini, kita menambahkan keyword artifacts masih di job create_file_setup, kemudian diikuti dengan beberapa konfigurasi. Artifact adalah output dari proses build, bisa berupa file exe, dll atau file dengan ekstensi lainnya

Setelah itu simpan perubahan file .gitlab-ci.yml ke repository git.

Kemudian langsung di push, untuk melihat apakah semua job (restore, build dan pembuatan paket instalasi) berhasil dijalankan.

Tunggu beberapa saat, kemudian cek link Pipelines untuk melihat status Pipelines yang sedang dijalankan.

Pipelines digunakan untuk mengelompokkan job. Jika ingin melihat job apa saja yang ada di dalam Pipelines, kita tinggal klik aja link statusnya.

Jika sudah selesai, kita bisa melihat link download artifacts di kolom terakhir.

Selesai…, untuk contoh lengkap hasil buildnya bisa Anda cek di sini

Selamat MENCOBA :blush:

Comments