Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
oleh Jason Lee
Saat Anda ingin menyebarkan proyek aplikasi web ke lingkungan server jarak jauh, tugas pertama Anda adalah membangun proyek dan menghasilkan paket penyebaran web. Topik ini menjelaskan cara kerja proses build untuk proyek aplikasi web. Secara khusus, ini menjelaskan:
- Cara Web Publishing Pipeline (WPP) memperluas proses build untuk menyertakan fungsionalitas penyebaran.
- Bagaimana Alat Penyebaran Web (Web Deploy) Internet Information Services (IIS) mengubah aplikasi web Anda menjadi paket penyebaran.
- Cara kerja proses build dan pengemasan dan file apa yang dibuat.
Di Visual Studio 2010, proses build dan penyebaran untuk proyek aplikasi web didukung oleh WPP. WPP menyediakan serangkaian target Microsoft Build Engine (MSBuild) yang memperluas fungsionalitas MSBuild dan memungkinkannya untuk berintegrasi dengan Web Deploy. Dalam Visual Studio, Anda dapat melihat fungsionalitas yang diperluas ini di halaman properti untuk proyek aplikasi web Anda. Halaman Web Paket/Terbitkan , bersama dengan halaman Paket/Terbitkan SQL , memungkinkan Anda mengonfigurasi bagaimana proyek aplikasi web Anda dikemas untuk penyebaran saat proses build selesai.
Bagaimana Cara Kerja WPP?
Jika Anda melihat file proyek untuk proyek aplikasi web berbasis C#, Anda dapat melihat bahwa file tersebut mengimpor dua file .target.
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\
v10.0\WebApplications\Microsoft.WebApplication.targets" />
Pernyataan Impor pertama umum untuk semua proyek Visual C#. File ini, Microsoft.CSharp.targets, berisi target dan tugas yang khusus untuk Visual C#. Misalnya, tugas pengkompilasi C# (Csc) dipanggil di sini. File Microsoft.CSharp.targets pada gilirannya mengimpor file Microsoft.Common.targets . Ini mendefinisikan target yang umum untuk semua proyek, seperti Build, Bangun Ulang, Jalankan, Kompilasi, dan Bersih. Pernyataan Impor kedua khusus untuk proyek aplikasi web. File Microsoft.WebApplication.targets pada gilirannya mengimpor file Microsoft.Web.Publishing.targets . File Microsoft.Web.Publishing.targets pada dasarnya adalah WPP. Ini mendefinisikan target, seperti Paket dan MSDeployPublish, yang memanggil Web Deploy untuk menyelesaikan berbagai tugas penyebaran.
Untuk memahami bagaimana target tambahan ini digunakan, dalam solusi sampel Contact Manager, buka file Publish.proj dan lihat target BuildProjects .
<Target Name="BuildProjects" Condition=" '$(BuildingInTeamBuild)'!='true' ">
<MSBuild Projects="@(ProjectsToBuild)"
Properties="OutDir=$(OutputRoot);
Configuration=$(Configuration);
DeployOnBuild=true;
DeployTarget=Package"
Targets="Build" />
</Target>
Target ini menggunakan tugas MSBuild untuk membangun berbagai proyek. Perhatikan properti DeployOnBuild dan DeployTarget :
- Properti DeployOnBuild=true pada dasarnya berarti "Saya ingin menjalankan target tambahan ketika build berhasil diselesaikan."
- Properti DeployTarget mengidentifikasi nama target yang ingin Anda jalankan saat properti DeployOnBuild sama dengan true. Dalam hal ini, Anda menentukan bahwa Anda ingin MSBuild menjalankan target Paket setelah membangun proyek.
Target Paket ditentukan dalam file Microsoft.Web.Publishing.targets . Pada dasarnya, target ini mengambil output build proyek aplikasi web Anda dan mengubahnya menjadi paket penyebaran web yang dapat diterbitkan ke server web IIS.
Catatan
Untuk melihat file proyek (misalnya, ContactManager.Mvc.csproj) di Visual Studio 2010, Anda harus terlebih dahulu membongkar proyek dari solusi Anda. Di jendela Penjelajah Solusi , klik kanan simpul proyek, lalu klik Bongkar Proyek. Klik kanan simpul proyek lagi, lalu klik Edit[file proyek]). File proyek akan terbuka dalam bentuk XML mentahnya. Ingatlah untuk memuat ulang proyek setelah Anda selesai.
Untuk informasi selengkapnya tentang target MSBuild, tugas, dan pernyataan Impor , lihat Memahami File Proyek. Untuk pengenalan yang lebih mendalam tentang file proyek dan WPP, lihat Di dalam Microsoft Build Engine: Menggunakan MSBuild dan Team Foundation Build oleh Sayed Ibrahim Hashimi dan William Bartholomew, ISBN: 978-0-7356-4524-0.
Apa itu Paket Penyebaran Web?
Saat Anda membangun dan menyebarkan proyek aplikasi web, baik dengan menggunakan Visual Studio 2010 atau dengan menggunakan MSBuild secara langsung, hasil akhirnya biasanya adalah paket penyebaran web. Paket penyebaran web adalah file .zip. Ini berisi semua yang dibutuhkan IIS dan Web Deploy untuk membuat ulang aplikasi web Anda, termasuk:
- Output yang dikompilasi dari aplikasi web Anda, termasuk konten, file sumber daya, file konfigurasi, JavaScript dan sumber daya lembar gaya kaskading (CSS), dan sebagainya.
- Rakitan untuk proyek aplikasi web Anda dan untuk proyek yang dirujuk dalam solusi Anda.
- Skrip SQL untuk menghasilkan database apa pun yang Anda sebarkan dengan aplikasi web Anda.
Setelah paket penyebaran web dibuat, Anda dapat menerbitkannya ke server web IIS dengan berbagai cara. Misalnya, Anda dapat menyebarkannya dari jarak jauh dengan menargetkan layanan Web Deploy Remote Agent atau Web Deploy Handler di server web tujuan, atau Anda dapat menggunakan IIS Manager untuk mengimpor paket secara manual di server web tujuan. Untuk informasi selengkapnya tentang pendekatan penyebaran ini, lihat Memilih Pendekatan yang Tepat untuk Penyebaran Web.
Bagaimana Cara Kerja Proses Build?
Ini menunjukkan apa yang terjadi ketika Anda membangun dan mengemas proyek aplikasi web:
Saat Anda membangun proyek aplikasi web, proses build menghasilkan file bernama [nama proyek].SourceManifest.xml. Seiring dengan file proyek dan output build, file .SourceManifest.xml ini memberi tahu Web Deploy apa yang perlu disertakan dalam paket penyebaran web. Dengan menggunakan input ini, Web Deploy menghasilkan paket penyebaran web bernama [nama proyek].zip.
Bersama paket penyebaran web, proses build menghasilkan dua file yang dapat membantu Anda menggunakan paket:
- File .deploy.cmd menyertakan sekumpulan perintah Web Deploy (MSDeploy.exe) parameter yang menerbitkan paket penyebaran web Anda ke server web IIS jarak jauh. Menjalankan file .deploy.cmd , dengan parameter yang sesuai, biasanya menyediakan alternatif yang lebih cepat dan lebih mudah untuk membuat perintah MSDeploy.exe secara manual sendiri.
- File SetParameters.xml menyediakan sekumpulan nilai parameter ke perintah MSDeploy.exe. Nilai-nilai ini mencakup properti seperti nama aplikasi web IIS tempat Anda ingin menyebarkan paket, nilai titik akhir layanan dan string koneksi apa pun yang ditentukan dalam file web.config , dan nilai properti penyebaran apa pun yang ditentukan pada halaman properti proyek.
File SetParameters.xml adalah kunci untuk mengelola proses penyebaran. File ini dihasilkan secara dinamis sesuai dengan konten proyek aplikasi web Anda. Misalnya, jika Anda menambahkan string koneksi ke file web.config Anda, proses build akan secara otomatis mendeteksi string koneksi, membuat parameter penyebaran yang sesuai, dan membuat entri dalam file SetParameters.xml untuk memungkinkan Anda mengubah string koneksi sebagai bagian dari proses penyebaran. Topik berikutnya, Mengonfigurasi Parameter untuk Penyebaran Paket Web, menjelaskan peran file ini secara lebih rinci dan menjelaskan berbagai cara di mana Anda dapat memodifikasinya selama build dan penyebaran.
Catatan
Di Visual Studio 2010, WPP tidak mendukung prakompilasi halaman dalam aplikasi web sebelum pengemasan. Versi Visual Studio berikutnya dan WPP akan mencakup kemampuan untuk melakukan prakompilasi aplikasi web sebagai opsi pengemasan.
Kesimpulan
Topik ini memberikan gambaran umum tentang proses build dan pengemasan untuk proyek aplikasi web di Visual Studio 2010. Ini menjelaskan bagaimana WPP memungkinkan Anda memanggil perintah Web Deploy dari MSBuild, dan menjelaskan cara kerja proses build dan pengemasan.
Setelah Anda membuat paket penyebaran web, langkah Anda selanjutnya adalah menyebarkannya. Untuk informasi selengkapnya tentang ini, lihat Mengonfigurasi Parameter untuk Penyebaran Paket Web dan Menyebarkan Paket Web.
Bacaan lebih lanjut
Topik berikutnya dalam tutorial ini, Mengonfigurasi Parameter untuk Penyebaran Paket Web dan Menyebarkan Paket Web, memberikan panduan tentang cara menggunakan paket web yang telah Anda buat. Tutorial akhir dalam seri ini, Advanced Enterprise Web Deployment, memberikan panduan tentang cara menyesuaikan dan memecahkan masalah proses pengemasan.
Untuk pengenalan yang lebih mendalam tentang file proyek dan WPP, lihat Di dalam Microsoft Build Engine: Menggunakan MSBuild dan Team Foundation Build oleh Sayed Ibrahim Hashimi dan William Bartholomew, ISBN: 978-0-7356-4524-0.