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 :
- Build project dengan mode
Debug
akan mengupload hasil build kedevelopment server
- Sedangkan jika build project dengan mode
Release
akan mengupload hasil build keproduction 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 :
- Menggunakan OS Windows 7/Windows Server 2008 ke atas
- Web Server IIS
- 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 :
Jalankan FileZilla Server Interface
Kemudian klik toolbar user account dialog
Setelah itu akan tampil dialog user
Kemudian klik tombol Add dan isikan nama user
Setelah itu kita perlu mengeset password untuk user yang baru ditambahkan
Berikutnya pindah ke node
Shared folders
, klik tombol Add kemudian tentukan lokasi web serviceTerakhir 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 :
1
|
|
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 :)