The Power of Visual Studio .NET Build Events Part #3

Posted by Kamarudin • 3 minute read • Comments

Masih melanjutkan pembahasan tentang build events yang merupakan salah satu fitur menarik dari Visual Studio .NET dan berguna untuk meningkatkan produktivitas kita sebagai software developer.

Di postingan sebelumnya kita memanfaatkan fitur ini untuk membuat paket installer secara otomatis setelah proses build project selesai, jadi workflownya sangat cocok digunakan untuk pengembangan aplikasi desktop. Sedangkan postingan kali ini, studi kasusnya adalah pengembangan aplikasi web service.

Perlu diketahui bahwa workflow pengembangan aplikasi desktop dan web service itu sedikit berbeda. Pengembangan aplikasi web service ada kemiripan dengan pengembangan aplikasi web. Di mana kita melakukan proses develop di komputer lokal setelah jadi baru kita upload ke server develop (untuk pengetesan lebih lanjut) atau ke server production (jika sudah siap rilis).

Dari gambar di atas, maka workflow yang bisa kita gunakan adalah :

  1. Build project dengan mode Debug akan mengupload hasil build ke development server
  2. Sedangkan jika build project dengan mode Release akan mengupload hasil build ke production server

Setelah menentukan workflow, berikutnya adalah menentukan cara yang kita gunakan untuk mengupload hasil build. Untuk contoh di sini kita akan memanfaatkan service FTP untuk melakukan proses upload.

FileZilla

FileZilla adalah salah satu software gratis dan open source yang bisa digunakan untuk menyediakan service FTP. Cara instalasi dan konfigurasinya juga gampang dan jika Anda belum pernah menggunakan FileZilla, saya pernah menulis tutorial penggunakan FileZilla di sini.

Web Server

Sama seperti aplikasi web, web service juga membutuhkan sebuah host/wadah agar bisa dijalankan. Untuk kebutuhan web server kita akan menggunakan spesifikasi seperti berikut :

  1. Menggunakan OS Windows 7/Windows Server 2008 ke atas
  2. Web Server IIS
  3. Service FTP menggunakan FileZilla, walaupun Windows Server juga mempunyai fitur untuk menyediakan service FTP sendiri, tapi tidak kita bahas disini

Lokasi Web Service

Secara default document root web server iis ada di folder ` C:\inetpub\wwwroot`

Kita akan membahkan folder baru dengan nama KRSchool berikut sub folder bin. Nah di sub folder bin inilah kita akan mengupload hasil build project.

Membuat User FTP

Setelah menyiapkan lokasi web service, berikutnya adalah membuat user yang berhak untuk mengakses lokasi web service. Di sini kita akan menggunakan FileZilla sebagai penyedia service FTP. Adapun langkah-langkahnya seperti berikut :

  1. Jalankan FileZilla Server Interface

    Kemudian klik toolbar user account dialog

    Setelah itu akan tampil dialog user

    Kemudian klik tombol Add dan isikan nama user

  2. Setelah itu kita perlu mengeset password untuk user yang baru ditambahkan

  3. Berikutnya pindah ke node Shared folders, klik tombol Add kemudian tentukan lokasi web service

  4. Terakhir aktifkan semua hak akses untuk modifikasi file

Tes User FTP

Setelah berhasil mendaftarkan user ftp, saatnya kita tes service FTPnya dari komputer lain.

Dengan asumsi ip server adalah 192.168.56.101, kita masuk ke dos prompt kemudian ketik ftp 192.168.56.101.

Jika konfigurasi service FTP yang kita lakukan dilangkah-langkah sebelumnya benar, kita akan diminta untuk memasukkan username dan password dan jika berhasil prompt akan berganti menjadi ftp> yang menandakan bahwa username dan password kita benar.

WinSCP

Di sisi server kita menggunakan FileZilla sebagai penyedia service FTP, sedangkan dari sisi klien kita menggunakan WinSCP untuk mengakses service FTP.

Cara penggunaan WinSCP, juga gampang. Berikut contohnya :

winscp.com /command "option batch abort" "option confirm off" "open ftp://USER_FTP:stuck_out_tongue:ASSWORD_FTP@IP_SERVER" "put FOLDER_RILIS\*.dll bin/" "exit"

Untuk USER_FTP, PASSWORD_FTP, IP_SERVER dan FOLDER_RILIS menyesuaikan. Selanjutnya kita tinggal panggil perintah di atas melalui Build Events

Build Events

Setelah semua persiapan selesai, kita akan menuliskan perintah Build Events untuk mengcopy hasil build dan menguploadnya ke server web service. Berikut perintah lengkapnya :

Pada perintah di atas, nilai IPServer tergantung dari setting Solution Configuration atau Configuration Manager. Jika di set Debug, hasil build akan diupload ke development server sedangkan jika di set Release akan di upload ke production server.

Setelah itu lakukan proses build -> project, maka semua file dll yang ada di folder bin\Debug atau bin\Release akan dicopykan ke folder C:\WebServiceRilis, kemudian akan dilanjutkan dengan mengupload ke web server.

Selamat mencoba :blush:

Comments