Bagikan melalui


Membuat dan Menjalankan File Perintah Penyebaran

oleh Jason Lee

Topik ini menjelaskan cara membuat file perintah yang akan memungkinkan Anda menjalankan penyebaran menggunakan file proyek Microsoft Build Engine (MSBuild) sebagai proses satu langkah dan dapat diulang.

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 Proses Build, di mana proses build dikendalikan oleh dua file proyek—satu berisi instruksi build yang berlaku untuk setiap lingkungan tujuan, dan satu 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 Proses

Dalam topik ini, Anda akan mempelajari cara membuat dan menjalankan file perintah yang menggunakan file proyek ini untuk melakukan penyebaran yang dapat diulang ke lingkungan target Anda. Pada dasarnya, file perintah hanya perlu berisi perintah MSBuild yang:

  • Memberi tahu MSBuild untuk menjalankan file Publish.proj environment-agnostic.
  • Memberi tahu file Publish.proj file mana yang berisi pengaturan proyek khusus lingkungan dan tempat menemukannya.

Membuat Perintah MSBuild

Seperti yang dijelaskan dalam Memahami Proses Build, file proyek khusus lingkungan—misalnya, Env-Dev.proj—dirancang untuk diimpor ke dalam file Publish.proj environment-agnostic pada waktu build. Bersama-sama, kedua file ini menyediakan serangkaian instruksi lengkap yang memberi tahu MSBuild cara membangun dan menyebarkan solusi Anda.

File Publish.proj menggunakan elemen Impor untuk mengimpor file proyek khusus lingkungan.

<Import Project="$(TargetEnvPropsFile)"/>

Dengan demikian, saat Anda menggunakan MSBuild.exe untuk membangun dan menyebarkan solusi Contact Manager, Anda perlu:

  • Jalankan MSBuild.exe pada file Publish.proj .
  • Tentukan lokasi file proyek khusus lingkungan dengan menyediakan parameter baris perintah bernama TargetEnvPropsFile.

Untuk melakukan ini, perintah MSBuild Anda harus menyerupai ini:

msbuild.exe Publish.proj /p:TargetEnvPropsFile=EnvConfig\Env-Dev.proj

Dari sini, ini adalah langkah sederhana untuk pindah ke penyebaran satu langkah yang dapat diulang. Yang perlu Anda lakukan adalah menambahkan perintah MSBuild Anda ke file .cmd. Dalam solusi Contact Manager, folder Terbitkan menyertakan file bernama Publish-Dev.cmd yang melakukan hal ini dengan tepat.

%windir%\Microsoft.NET\Framework\v4.0.30319\msbuild.exe Publish.proj /fl /p:TargetEnvPropsFile=EnvConfig\Env-Dev.proj
echo 
pause

Catatan

Sakelar /fl menginstruksikan MSBuild untuk membuat file log bernama msbuild.log di direktori kerja tempat MSBuild.exe dipanggil.

Untuk menyebarkan atau menyebarkan ulang solusi Contact Manager, yang perlu Anda lakukan adalah menjalankan file Publish-Dev.cmd . Saat Anda menjalankan file, MSBuild akan:

  • Bangun semua proyek dalam solusi.
  • Hasilkan paket web yang dapat disebarkan untuk proyek aplikasi web.
  • Hasilkan file .dbschema dan .deploymanifest untuk proyek database.
  • Sebarkan paket web ke server web.
  • Sebarkan database ke server database.

Jalankan Penyebaran

Ketika Anda telah membuat file perintah untuk lingkungan target, Anda harus dapat menyelesaikan seluruh penyebaran hanya dengan menjalankan file.

Untuk menyebarkan solusi Contact Manager ke lingkungan pengujian Anda

  1. Di stasiun kerja pengembang Anda, buka Windows Explorer, lalu telusuri ke lokasi file Publish-Dev.cmd .

  2. Klik dua kali file untuk menjalankannya.

  3. Jika kotak dialog Buka File – Peringatan Keamanan muncul, klik Jalankan.

  4. Jika pengaturan konfigurasi dan server pengujian Anda disiapkan dengan benar, jendela Wantian Perintah akan menampilkan pesan Build berhasil ketika MSBuild telah selesai memproses file proyek.

    Jika pengaturan konfigurasi dan server pengujian Anda disiapkan dengan benar, jendela Wantian Perintah akan menampilkan pesan Build berhasil ketika MSBuild telah selesai memproses file proyek.

  5. Jika ini pertama kalinya Anda menyebarkan solusi ke lingkungan ini, Anda harus menambahkan akun mesin server web pengujian ke peran db_datawriter dan db_datareader pada database ContactManager . Prosedur ini dijelaskan dalam Mengonfigurasi Server Database untuk Penerbitan Penyebaran Web.

    Catatan

    Anda hanya perlu menetapkan izin ini saat membuat database. Secara default, proses build tidak akan membuat ulang database pada setiap penyebaran—sebagai gantinya, proses tersebut akan membandingkan database yang ada dengan skema terbaru dan hanya membuat perubahan yang diperlukan. Akibatnya, Anda hanya perlu memetakan peran database ini saat pertama kali menyebarkan solusi.

  6. Buka Internet Explorer dan telusuri url aplikasi Contact Manager (misalnya, http://testweb1:85/ContactManager/).

  7. Verifikasi bahwa aplikasi berfungsi seperti yang diharapkan dan Anda dapat menambahkan kontak.

    Verifikasi bahwa aplikasi berfungsi seperti yang diharapkan dan Anda dapat menambahkan kontak.

Kesimpulan

Membuat file perintah yang berisi instruksi MSBuild memberi Anda cara cepat dan mudah untuk membangun dan menyebarkan solusi multi-proyek ke lingkungan tujuan tertentu. Jika Anda perlu berulang kali menyebarkan solusi Anda ke beberapa lingkungan tujuan, Anda dapat membuat beberapa file perintah. Dalam setiap file perintah, perintah MSBuild akan membangun file proyek universal yang sama, tetapi akan menentukan file proyek khusus lingkungan yang berbeda. Misalnya, file perintah untuk diterbitkan ke pengembang atau lingkungan pengujian mungkin berisi perintah MSBuild ini:

msbuild.exe Publish.proj /p:TargetEnvPropsFile=EnvConfig\Env-Dev.proj

File perintah untuk diterbitkan ke lingkungan penahapan mungkin berisi perintah MSBuild ini:

msbuild.exe Publish.proj /p:TargetEnvPropsFile=EnvConfig\Env-Stage.proj

Catatan

Untuk panduan tentang cara menyesuaikan file proyek khusus lingkungan untuk lingkungan server Anda sendiri, lihat Mengonfigurasi Properti Penyebaran untuk Lingkungan Target.

Anda juga dapat menyesuaikan proses build untuk setiap lingkungan dengan menimpa properti atau mengatur berbagai sakelar lain dalam perintah MSBuild Anda. Untuk informasi selengkapnya, lihat Referensi Baris Perintah MSBuild.