Persiapan Membangun Server CI (Continuous Integration) di Windows untuk Platform .NET Bagian #2

Posted by Kamarudin • 3 minute read • Comments

Persiapan awal untuk membangun Server CI (Continuous Integration) sudah kita selesaikan yaitu membuat sendiri server repository Git untuk keperluan internal kantor yang berfungsi sebagai wadah untuk menampung source code dari masing-masing developer.

Masih tersisa beberapa tool yang harus kita pelajari penggunaannya agar proses membangun server CInya berjalan mulus yaitu :

Package Installer

Tool ini digunakan untuk membuat paket instalasi biasanya digunakan untuk aplikasi desktop seperti winform, console atau windows service. Tujuannya jelas untuk mempermudah distribusi/instalasi aplikasi ke klien. Package Installer ini nantinya digunakan untuk proses deploy yang dilakukan secara otomatis oleh server CI.

Jadi alurnya adalah ketika kita mem-push source code ke server repository git, ini akan men-trigger server CI untuk melakukan build, menjalankan tes otomatis (jika ada) kemudian membuat paket instalasi untuk aplikasi desktop atau rilis/upload kode ke server produksi untuk aplikasi web.

Untuk membuat paket instalasi, kita bisa menggunakan yang gratis seperti Inno Setup atau NSIS.

NUnit

Tool ini digunakan untuk keperluan testing otomatis, saya sudah membahas penggunaan tool ini di kategori Software Testing.

MSBuild

Dari nama toolnya aja udah jelas, klo tool ini digunakan untuk proses build solution/project yang sedang kita kembangkan. Sadar atau tidak sebenarnya kita sudah sering menggunakan MSBuild ketika menggunakan IDE Visual Studio .NET untuk menulis kode. Setelah selesai menulis kode, biasanya kitakan menekan tombol F5 (Start Debugging) atau Ctrl+F5 (Start Without Debugging) untuk menjalankan/mengetes kode yang baru selesai kita tulis. Nah pada saat kita menekan tombol F5/Ctrl+F5, IDE Visual Studio .NET akan menjalankan/mengeksekusi MSBuild sesuai dengan pengaturan yang sudah kita set di bagian Configuration Manager atau Project -> Properties -> Build.

Configuration Manager

Setting Build di Project Properties

Menekan tombol F5/Ctrl+F5 inikan dari sisi developer ketika akan mem-build solution/project sedangkan dari sisi server (server CI) karena kita tidak menginstall Visual Studio.NET, kita cukup menginstall tool MSBuild secara terpisah. Sehingga untuk menjalankan tool MSBuild kita lakukan via command prompt. Tapi untuk contoh di sini kita akan menggunakan Visual Studio .NET Command Prompt untuk menjalankan tool MSBuild, caranya adalah dengan mengaktifkan Visual Studio .NET Command Prompt sesuai dengan versi Visual Studio .NET Anda.

Kemudian ketik perintah MSBuild dengan format seperti berikut:

MSBuild.exe [Switches] [ProjectFile]

Contoh :

MSBuild.exe /t:Clean,Build /p:Configuration=Release /p:stuck_out_tongue:latform="Any CPU" "D:\DemoContinuousIntegration\src\Northwind.sln"

Untuk referensi lengkap MSBuild Command, bisa Anda cek di sini.

Di server CI kita akan menuliskan perintah MSBuild seperti di atas untuk keperluan build otomatis.

NuGet

NuGet adalah tool package manager yang berfungsi untuk mempermudah kita menginstall library pihak ketiga (3rd party libraries), seperti Dapper .NET, Entity Framework, Json .NET dan masih banyak lagi library pihak ketiga yang memang sudah terbukti ampuh dan bermanfaat untuk project yang kita kembangkan.

Penggunaan tool ini juga sudah saya bahas di kategori NuGet tetapi pembahasannya dari sisi developer sedangkan untuk sisi server (server CI), NuGet digunakan untuk me-restore library nuget yang digunakan oleh project/aplikasi yang kita kembangkan, karena jika tidak di-restore, server CI akan gagal melakukan proses build.

Sebagai contoh kita akan mem-build ulang project Northwind di atas, tetapi dengan menghapus library nugetnya terlebih dulu yang ada di dalam folder lib.

Kemudian kita build ulang

Nah dari gambar di atas kan terlihat hasil buildnya gagal karena project Northwindnya membutuhkan library Dapper dan ` System.Data.SQLite.Core`.

Sekarang kita coba menambahkan perintah untuk me-restore library nugetnya terlebih dulu sebelum melakukan proses build, tapi sebelumnya download terlebih dulu tool nugetnya di sini kemudian simpan di folder misal dengan nama D:\Development Tools, kemudian ketik perintah berikut :

"D:\Development Tools\nuget.exe" restore "D:\DemoContinuousIntegration\src"

Setelah me-restore library nugetnya berhasil, baru kita build ulang

Sampai di sini persiapan untuk membangun Server CI (Continuous Integration) sudah selesai, insya Allah di postingan berikutnya kita akan membahas Bagaimana Membangun Server CI (Continuous Integration) di Windows untuk Platform .NET Menggunakan Jenkins.

Selamat mencoba :blush:

Comments