Masih membahas tentang manfaat dari Server CI (Continuous Integration) untuk kemudahan dalam melakukan proses build
dan deploy
secara terpusat. Jika dipostingan sebelumnya saya menggunakan contoh aplikasi desktop maka kali ini kita akan membahas proses build dan deploy untuk aplikasi berbasis web seperti ASP.NET, ASP.NET MVC dan ASP.NET WEB API.
Untuk kemudahan proses deploy ke web server IIS, Microsoft sudah menyediakan tool khusus untuk melakukan ini yaitu Web Deploy. Tool ini akan kita kombinasikan dengan tool Microsoft Build.
Environment Test
Untuk keperluan postingan kali ini, saya menggunakan environment test sebagai berikut:
Server CI (Continuous Integration)
- Windows Server 2008 R2
- Software CI (Continuous Integration) menggunakan Jenkins
- .NET Framework 4.0, 4.5.x
- Microsoft Build 2015
- Web Deploy 3.6
- Source/version control Git
- Repository Git menggunakan Bonobo Git Server
- NuGet
Server Development/Production
- Windows Server 2008 R2
- Web Server IIS 7
- .NET Framework 4.0, 4.5.x
- Web Deploy 3.6
PC/Laptop Development
- Visual Studio .NET 2013 Community Edition
- Source/version control Git
- TortoiseGit
Konfigurasi Server Development/Production
Berikut langkah-langkahnya:
Langkah 1: Aktifkan role Management Service (Server Manager -> Role -> Web Server (IIS))
Setelah selesai dilanjutkan dengan pembuatan user windows/local user.
Langkah 2: Menambahkan user windows/local non-admin untuk keperluan deploy (Server Manager -> Configuration -> Local Users and Groups -> Users
Langkah 3: Download dan Install Web Deploy. Pada saat instalasi pilih custome kemudian aktifkan semua pilihan.
Langkah 4: Konfigurasi Web Deploy Publishing (IIS Manager -> Site -> Deploy -> Configure Web Deploy Publishing …)
tukang_deploy
di atas adalah user windows/local non-admin
yang sudah kita buat pada langkah sebelumnya.
Langkah 5: Selesai
Konfigurasi PC/Laptop Development
Untuk konfigurasi pc/laptop development dilakukan dengan cara membuat publish profile
. Berikut langkah-langkahnya:
Langkah 1: Aktifkan project Visual Studio.net, sebagai contoh bisa didownload di sini
Langkah 2: Klik kanan project Web API -> Publish…, setelah itu akan tampil dialog publish web
Langkah 3: Kemudian pada tab Profile pilih Custome
Isikan nama profile
Langkah 4: Pada tab Connection isikan konfigurasinya seperti berikut
Contoh konfigurasi di atas menggunakan ip 192.168.56.2
untuk server development, jadi nilainya tinggal disesuaikan. Untuk user dan password dikosongkan dulu aja, nanti kita set pada saat proses build
dan deploy
di job/project jenkins.
Langkah 5: Selanjutnya tinggal di Next aja
Langkah 6: Terakhir klik tombol Close
Setelah proses ini selesai akan dibuatkan file PublishProfiles
yang tersimpan di node Properties
-> PublishProfiles
File PublishProfiles
ini nantinya akan kita gunakan pada saat proses build
dan deploy
Konfigurasi Server CI (Continuous Integration)
Dipostingan kali ini saya tidak lagi menjelaskan secara rinci bagaimana membuat dan melakukan konfigurasi job/project jenkins karena sudah saya bahas dipostingan sebelumnya. Berikut langkah-langkahnya:
Langkah 1: Buat job/project baru, misal dengan nama northwind-web-api-deploy
Langkah 2: Setting repository git
Langkah 3: Setting restore nuget package
Langkah 4: Setting MSBuild
Langkah 5: Terakhir tes build dan deploy
Jika proses build
dan deploy
selesai, kita tinggal cek hasilnya di IIS Manager
Setelah itu kita juga bisa langsung mencoba web servicenya menggunakan web browser.
Selamat MENCOBA :-)