Bagikan melalui


Membuat Definisi Build yang Mendukung Penyebaran

oleh Jason Lee

Jika Anda ingin melakukan segala jenis build di Team Foundation Server (TFS) 2010, Anda perlu membuat definisi build dalam proyek tim Anda. Topik ini menjelaskan cara membuat definisi build baru di TFS dan cara mengontrol penyebaran web sebagai bagian dari proses build di Team Build.

Topik ini merupakan bagian dari serangkaian tutorial yang didasarkan pada persyaratan penyebaran perusahaan dari perusahaan fiktif bernama Fabrikam, Inc. Seri tutorial ini menggunakan solusi sampel— solusi Contact Manager—untuk mewakili aplikasi web dengan tingkat kompleksitas yang realistis, termasuk aplikasi MVC 3 ASP.NET, layanan Windows Communication Foundation (WCF), dan proyek database.

Metode penyebaran di jantung tutorial ini didasarkan pada pendekatan file proyek terpisah yang dijelaskan dalam Memahami File Proyek, di mana proses build dan penyebaran dikendalikan oleh dua file proyek —satu berisi instruksi build yang berlaku untuk setiap lingkungan tujuan, dan satu yang berisi pengaturan build dan penyebaran khusus lingkungan. Pada waktu build, file proyek khusus lingkungan digabungkan ke dalam file proyek agnostik lingkungan untuk membentuk serangkaian instruksi build lengkap.

Gambaran Umum Tugas

Definisi build adalah mekanisme yang mengontrol bagaimana dan kapan build terjadi untuk proyek tim di TFS. Setiap definisi build menentukan:

  • Hal-hal yang ingin Anda buat, seperti file solusi Visual Studio atau file proyek Microsoft Build Engine (MSBuild) kustom.
  • Kriteria yang menentukan kapan build harus terjadi, seperti pemicu manual, integrasi berkelanjutan (CI), atau check-in terjaga.
  • Lokasi team build harus mengirim output build, termasuk artefak penyebaran seperti paket web dan skrip database.
  • Jumlah waktu setiap build harus dipertahankan.
  • Berbagai parameter lain dari proses build.

Catatan

Untuk informasi selengkapnya tentang definisi build, lihat Menentukan Proses Build Anda.

Topik ini akan menunjukkan kepada Anda cara membuat definisi build yang menggunakan CI, sehingga build dipicu saat pengembang memeriksa konten baru. Jika build berhasil, layanan build menjalankan file proyek kustom untuk menyebarkan solusi ke lingkungan pengujian.

Saat Anda memicu build, tindakan ini perlu terjadi:

  • Pertama, Team Build harus membangun solusi. Sebagai bagian dari proses ini, Team Build akan memanggil Web Publishing Pipeline (WPP) untuk menghasilkan paket penyebaran web untuk setiap proyek aplikasi web dalam solusi. Team Build juga akan menjalankan pengujian unit apa pun yang terkait dengan solusi.
  • Jika build solusi gagal, Team Build tidak boleh mengambil tindakan lebih lanjut. Kegagalan pengujian unit harus diperlakukan sebagai kegagalan build.
  • Jika build solusi berhasil, Team Build harus menjalankan file proyek kustom yang mengontrol penyebaran solusi. Sebagai bagian dari proses ini, Team Build akan memanggil Alat Penyebaran Web (Web Deploy) Internet Information Services (IIS) untuk menginstal aplikasi web yang dikemas di server web tujuan, dan akan memanggil utilitas VSDBCMD.exe untuk menjalankan skrip pembuatan database di server database tujuan.

Ini menggambarkan prosesnya:

Mengilustrasikan proses di atas.

Solusi sampel Contact Manager mencakup file proyek MSBuild kustom, Publish.proj, yang dapat Anda jalankan dari MSBuild atau Team Build. Seperti yang dijelaskan dalam Memahami Proses Build, file proyek ini menentukan logika yang menyebarkan paket web dan database Anda ke lingkungan target. File ini mencakup logika yang menghilangkan proses pembuatan dan pengemasan jika berjalan di Team Build, hanya menyisakan tugas penyebaran untuk dijalankan. Ini karena ketika Anda mengotomatiskan penyebaran dengan cara ini, Anda biasanya ingin memastikan bahwa solusi berhasil dibangun dan lulus pengujian unit apa pun sebelum proses penyebaran dimulai.

Bagian berikutnya menjelaskan cara menerapkan proses ini dengan membuat definisi build baru.

Catatan

Prosedur ini—di mana satu proses otomatis membangun, menguji, dan menyebarkan solusi—kemungkinan besar paling cocok untuk penyebaran ke lingkungan pengujian. Untuk lingkungan penahapan dan produksi, Anda kemungkinan besar ingin menyebarkan konten dari build sebelumnya yang telah Anda verifikasi dan validasi di lingkungan pengujian. Pendekatan ini dijelaskan dalam topik berikutnya, Menyebarkan Build Tertentu.

Siapa yang Melakukan Prosedur Ini?

Biasanya, administrator TFS melakukan prosedur ini. Dalam beberapa kasus, pemimpin tim pengembang dapat bertanggung jawab atas pengumpulan proyek tim di TFS. Untuk membuat definisi build baru, Anda harus menjadi anggota grup Administrator Build Koleksi Proyek untuk koleksi proyek tim yang berisi solusi Anda.

Membuat Definisi Build untuk CI dan Penyebaran

Prosedur berikutnya menjelaskan cara membuat definisi build yang dipicu CI. Jika build berhasil, solusi disebarkan menggunakan logika dalam file proyek MSBuild kustom.

Untuk membuat definisi build untuk CI dan penyebaran

  1. Di Visual Studio 2010, di jendela Team Explorer , perluas simpul proyek tim Anda, klik kanan Build, lalu klik Definisi Build Baru.

    Di Visual Studio 2010, di jendela Team Explorer, perluas simpul proyek tim Anda, klik kanan Build, lalu klik Definisi Build Baru.

  2. Pada tab Umum , beri nama definisi build (misalnya, DeployToTest) dan deskripsi opsional.

  3. Pada tab Pemicu , pilih kriteria tempat Anda ingin memicu build baru. Misalnya, jika Anda ingin membangun solusi dan menyebarkan ke lingkungan pengujian setiap kali pengembang memeriksa kode baru, pilih Integrasi Berkelanjutan.

  4. Pada tab Build Defaults , dalam kotak Salin output build ke folder drop berikut , ketik jalur Universal Naming Convention (UNC) dari folder drop Anda (misalnya, \TFSBUILD\Drops).

    Pada tab Build Defaults, dalam kotak Salin output build ke folder drop berikut, ketik jalur Universal Naming Convention (UNC) dari folder drop Anda (misalnya, \TFSBUILD\Drops).

    Catatan

    Lokasi drop ini menyimpan beberapa build, tergantung pada kebijakan retensi yang Anda konfigurasi. Saat Anda ingin menerbitkan artefak penyebaran dari build tertentu ke lingkungan penahapan atau produksi, di sinilah Anda akan menemukannya.

  5. Pada tab Proses , di daftar dropdown File proses build , biarkan DefaultTemplate.xaml dipilih. Ini adalah salah satu templat proses build default yang ditambahkan ke semua proyek tim baru.

  6. Dalam tabel Parameter proses build , klik di baris Item untuk Membangun , lalu klik tombol elipsis .

    Dalam tabel Parameter proses build, klik di baris Item untuk Membangun, lalu klik tombol elipsis.

  7. Dalam kotak dialog Item yang akan Dibangun , klik Tambahkan.

  8. Telusuri ke lokasi file solusi Anda, lalu klik OK.

    Telusuri ke lokasi file solusi Anda, lalu klik OK.

  9. Dalam kotak dialog Item yang akan Dibangun , klik Tambahkan.

  10. Di daftar dropdown Item jenis , pilih MSBuild Project files.

  11. Telusuri ke lokasi file proyek kustom tempat Anda mengontrol proses penyebaran, pilih file, lalu klik OK.

    Telusuri ke lokasi file proyek kustom tempat Anda mengontrol proses penyebaran, pilih file, lalu klik OK.

  12. Kotak dialog Item yang Akan Dibangun sekarang akan menampilkan dua item. Klik OK.

    Kotak dialog Item yang Akan Dibangun sekarang akan menampilkan dua item. Klik OK.

  13. Pada tab Proses , dalam tabel Parameter proses build , perluas bagian Tingkat Lanjut .

  14. Di baris Argumen MSBuild , tambahkan argumen baris perintah MSBuild yang diperlukan salah satu item Anda untuk membangun. Dalam skenario solusi Contact Manager, argumen ini diperlukan:

    /p:DeployOnBuild=true;DeployTarget=Package;
       TargetEnvPropsFile=EnvConfig\Env-Dev.proj
    

    Di baris Argumen MSBuild, tambahkan argumen baris perintah MSBuild yang diperlukan salah satu item Anda untuk membangun.

  15. Dalam contoh ini:

    1. Argumen DeployOnBuild=true dan DeployTarget=package diperlukan saat Anda membangun solusi Contact Manager. Ini menginstruksikan MSBuild untuk membuat paket penyebaran web setelah membangun setiap proyek aplikasi web, seperti yang dijelaskan dalam Membangun dan Mengemas Proyek Aplikasi Web.
    2. Argumen TargetEnvPropsFile diperlukan saat Anda membangun file Publish.proj . Properti ini menunjukkan lokasi file konfigurasi khusus lingkungan, seperti yang dijelaskan dalam Memahami Proses Build.
  16. Pada tab Kebijakan Penyimpanan , konfigurasikan berapa banyak build dari setiap jenis yang ingin Anda pertahankan sesuai kebutuhan.

  17. Klik Simpan.

Mengantrekan Build

Pada titik ini, Anda telah membuat setidaknya satu definisi build baru. Proses build yang Anda tentukan sekarang akan berjalan sesuai dengan pemicu yang Anda tentukan dalam definisi build.

Jika Anda telah mengonfigurasi definisi build untuk menggunakan CI, Anda dapat menguji definisi build dengan dua cara:

  • Periksa beberapa konten ke proyek tim untuk memicu build otomatis.
  • Mengantrekan build secara manual.

Untuk mengantre build secara manual

  1. Di jendela Team Explorer , klik kanan definisi build, lalu klik Antrekan Build Baru.

    Di jendela Team Explorer, klik kanan definisi build, lalu klik Antrekan Build Baru.

  2. Dalam kotak dialog Build Antrean , tinjau properti build, lalu klik Antrean.

    Dalam kotak dialog Build Antrean, tinjau properti build, lalu klik Antrean.

Untuk meninjau kemajuan dan hasil build—terlepas dari apakah itu dipicu secara manual atau otomatis—klik dua kali definisi build di jendela Team Explorer . Ini akan membuka tab Build Explorer .

Untuk meninjau kemajuan dan hasil build, terlepas dari apakah itu dipicu secara manual atau otomatis, klik dua kali definisi build di jendela Team Explorer.

Dari sini, Anda dapat memecahkan masalah build yang gagal. Jika Anda mengklik dua kali build individual, Anda dapat melihat informasi ringkasan dan mengeklik ke file log terperinci.

Jika Anda mengklik dua kali build individual, Anda dapat melihat informasi ringkasan dan mengeklik ke file log terperinci.

Anda dapat menggunakan informasi ini untuk memecahkan masalah build yang gagal dan mengatasi masalah apa pun sebelum mencoba build lain.

Catatan

Build yang menjalankan logika penyebaran kemungkinan akan gagal sampai Anda telah memberikan server build izin apa pun yang diperlukan di lingkungan tujuan. Untuk informasi selengkapnya, lihat Mengonfigurasi Izin untuk Penyebaran Build Tim.

Memantau Proses Build

TFS menyediakan berbagai fungsionalitas untuk membantu Anda memantau proses build. Misalnya, TFS dapat mengirimi Anda email atau menampilkan pemberitahuan di area pemberitahuan taskbar Saat build selesai. Untuk informasi selengkapnya, lihat Menjalankan dan Memantau Build.

Kesimpulan

Topik ini menjelaskan cara membuat definisi build di TFS. Definisi build dikonfigurasi untuk CI, sehingga proses build berjalan setiap kali pengembang memeriksa konten ke proyek tim. Definisi build menjalankan file proyek MSBuild kustom untuk menyebarkan paket web dan skrip database ke lingkungan server target.

Agar penyebaran otomatis berhasil sebagai bagian dari proses build, Anda harus memberikan izin yang sesuai ke akun layanan build di server web target dan server database target. Topik akhir dalam tutorial ini, Mengonfigurasi Izin untuk Penyebaran Build Tim, menjelaskan cara mengidentifikasi dan mengonfigurasi izin yang diperlukan untuk penyebaran otomatis dari server Team Build.

Bacaan lebih lanjut

Untuk informasi selengkapnya tentang membuat definisi build, lihat Membuat Definisi Build Dasar dan Menentukan Proses Build Anda. Untuk panduan selengkapnya tentang mengantre build, lihat Antrean Build.