Saya mencari berbagai teknik / alat yang Anda gunakan untuk menyebarkan proyek aplikasi web ASP.NET ( BUKAN situs web ASP.NET) untuk produksi?
Saya sangat tertarik dengan alur kerja yang terjadi antara waktu server Continuous Integration Build Anda menjatuhkan binari di beberapa lokasi dan saat permintaan pengguna pertama mengenai biner ini.
Apakah Anda menggunakan beberapa alat khusus atau hanya XCOPY? Bagaimana aplikasi dikemas (ZIP, MSI, ...)?
Ketika aplikasi digunakan untuk pertama kali, bagaimana Anda mengatur App Pool dan Direktori Virtual (apakah Anda membuatnya secara manual atau dengan alat tertentu)?
Ketika sumber daya statis berubah (CSS, JS, atau file gambar), apakah Anda menerapkan ulang seluruh aplikasi atau hanya sumber daya yang dimodifikasi? Bagaimana jika halaman assembly / ASPX berubah?
Apakah Anda melacak semua versi yang diterapkan untuk aplikasi tertentu dan jika terjadi kesalahan, apakah Anda memiliki prosedur untuk memulihkan aplikasi ke status kerja yang diketahui sebelumnya?
Silakan melengkapi daftar sebelumnya.
Dan inilah yang kami gunakan untuk menyebarkan aplikasi ASP.NET kami:
- Kami menambahkan Proyek Penyebaran Web ke solusi dan menyiapkannya untuk membangun aplikasi web ASP.NET
- Kami menambahkan Proyek Penyiapan ( BUKAN Proyek Penyiapan Web) ke solusi dan menyetelnya untuk mengambil keluaran dari Proyek Penerapan Web
- Kami menambahkan tindakan penginstalan kustom dan dalam acara OnInstall kami menjalankan rakitan build .NET kustom yang membuat App Pool dan Direktori Virtual di IIS menggunakan System.DirectoryServices.DirectoryEntry (Tugas ini dilakukan hanya saat pertama kali aplikasi disebarkan) . Kami mendukung beberapa Situs Web di IIS, Otentikasi untuk Direktori Virtual dan identitas pengaturan untuk App Pools.
- Kami menambahkan tugas kustom di TFS untuk membangun Proyek Penataan (TFS tidak mendukung Proyek Penataan jadi kami harus menggunakan devenv.exe untuk membangun MSI)
- MSI diinstal di server langsung (jika ada versi MSI sebelumnya, ini dicopot terlebih dahulu)