Menerapkan penyebaran berkelanjutan aplikasi Anda ke Azure Virtual Machine Scale Set
| Layanan Azure DevOps Azure DevOps Server 2020 | | Azure DevOps Server 2019 TFS 2018
Catatan
Di Microsoft Team Foundation Server (TFS) 2018 dan versi sebelumnya, alur build dan rilis disebut definisi, eksekusi disebut build, koneksi layanan disebut titik akhir layanan, tahapan disebut lingkungan, dan pekerjaan disebut fase.
Tugas Build Machine Image memudahkan pengguna yang baru menggunakan penyebaran berbasis VHD yang tidak dapat diubah untuk menggunakan Packer tanpa konsep pembelajaran seperti provisioner dan penyusun. Jika Anda menyebarkan ke komputer virtual dengan menggunakan skrip penyebaran, Anda dapat menggunakan tugas ini untuk membuat instans komputer virtual baru atau untuk membuat dan memperbarui set skala komputer virtual.
Mode pembuatan otomatis tugas menghasilkan konfigurasi Packer dengan:
- Penyusun untuk Azure
- Provisioner yang bergantung pada jenis sistem operasi dasar yang dipilih. Untuk Linux, ini adalah skrip shell. Untuk Windows, ini adalah skrip PowerShell. Skrip penyebaran yang disediakan digunakan oleh provisioner.
File JSON konfigurasi Packer kustom juga dapat digunakan.
Menyiapkan
Mulai dengan build CI
Sebelum memulai, Anda memerlukan build CI yang membuat aplikasi Anda. Untuk menyiapkan CI, lihat:
Membuat alur rilis
Buka tab RilisAzure Pipelines dan pilih ikon "+" untuk membuat alur rilis baru.
Dalam dialog Buat alur rilis , pilih templat Kosong dan pilih Berikutnya.
Di halaman berikutnya, pilih alur build yang Anda buat sebelumnya dan pilih Buat. Ini membuat alur rilis baru dengan satu tahap default.
Di alur rilis baru, pilih + Tambahkan tugas dan tambahkan tugas ini:
- Bangun Citra Mesin
- Azure PowerShell
Build Machine Image menggunakan Packer untuk membuat VHD. Seluruh prosesnya adalah:
- Membuat komputer virtual baru dengan sistem operasi dasar yang dipilih
- Instal semua prasyarat dan aplikasi pada VM dengan menggunakan skrip penyebaran
- Membuat VHD dan menyimpannya di akun penyimpanan Azure
- Menghapus komputer virtual baru yang dibuat
Konfigurasikan tugas Build Machine Image sebagai berikut:
Sebarkan: Bangun Gambar Mesin - Bangun gambar komputer menggunakan Packer.Templat pengemas: Anda dapat menggunakan file JSON konfigurasi pengemas Anda sendiri atau menggunakan fitur pembuatan otomatis di mana tugas menghasilkan templat pengemas untuk Anda. Contoh ini menggunakan konfigurasi pengemas yang dibuat secara otomatis.
Langganan Azure: Pilih koneksi dari daftar di bawah Koneksi Layanan Azure yang Tersedia atau buat koneksi izin yang lebih terbatas ke langganan Azure Anda. Untuk informasi selengkapnya, lihat Koneksi layanan Azure Resource Manager.
Storage lokasi: Lokasi akun penyimpanan tempat VHD akan disimpan. Ini harus menjadi lokasi yang sama di mana set skala komputer virtual berada, atau di mana set tersebut akan dibuat.
Sumber Gambar Dasar: Anda dapat memilih dari galeri gambar OS yang dikumpulkan, atau menyediakan URL gambar kustom Anda. Contohnya
Ubuntu 16.04 LTSPaket Penyebaran: Tentukan jalur direktori paket penyebaran relatif terhadap $(System.DefaultWorkingDirectory). Contohnya
$(System.DefaultWorkingDirectory)/Packer-NodeJs/dropSkrip Penyebaran: Tentukan jalur relatif ke skrip PowerShell (untuk Windows) atau skrip shell (untuk Linux) yang menyebarkan paket. Skrip ini harus berada dalam jalur paket penyebaran yang dipilih di atas. Contohnya:
Deploy/ubuntu/deployNodejsApp.shSkrip mungkin perlu menginstal Curl, Node.js, NGINX, dan PM2; salin aplikasi; lalu konfigurasikan NGINX dan PM2 untuk menjalankan aplikasi.Output - URL Gambar: Berikan nama untuk variabel output yang akan menyimpan URL gambar komputer yang dihasilkan. Misalnya,
bakedImageUrl
Sebarkan: Azure PowerShell - Jalankan skrip PowerShell untuk memperbarui Set Skala Komputer Virtual dengan VHD baru.Jenis Koneksi Azure: Pilih
Azure Resource ManagerLangganan Azure RM: Pilih koneksi dari daftar di bawah Koneksi Layanan Azure yang Tersedia atau buat koneksi izin yang lebih terbatas ke langganan Azure Anda. Untuk informasi selengkapnya, lihat Koneksi layanan Azure Resource Manager.
Jenis skrip: Pilih
Inline ScriptSkrip Sebaris: Masukkan skrip yang ditunjukkan di bawah ini untuk memperbarui set skala komputer virtual.
Gunakan skrip berikut untuk parameter Skrip Sebaris dari tugas Azure PowerShell:
# get the VMSS model $vmss = Get-AzureRmVmss -ResourceGroupName resource_group_name -VMScaleSetName VM_scale_set_name # set the new version in the model data $vmss.virtualMachineProfile.storageProfile.osDisk.image.uri="$(bakedImageUrl)" # update the virtual machine scale set model Update-AzureRmVmss -ResourceGroupName resource_group_name -Name resource_group_name -VirtualMachineScaleSet $vmssAnda dapat menggunakan variabel untuk meneruskan nilai seperti grup sumber daya dan nama set skala komputer virtual ke skrip jika Anda mau.
Dalam dialog Kondisi penyebaran untuk tahap tersebut, pastikan bahwa bagian Pemicu diatur ke Setelah pembuatan rilis.
Masukkan nama untuk alur rilis dan simpan.
Buat rilis baru, pilih build terbaru, dan pastikan bahwa aplikasi telah disebarkan dengan benar dan telah menghasilkan VHD.
FAQ
Saya menggunakan TFS lokal dan saya tidak melihat beberapa fitur ini. Mengapa bukan?
Beberapa fitur ini hanya tersedia di Azure Pipelines dan belum tersedia secara lokal. Beberapa fitur tersedia secara lokal jika Anda telah meningkatkan ke TFS versi terbaru.
Bantuan dan dukungan
- Lihat halaman pemecahan masalah kami
- Dapatkan saran tentang Stack Overflow, dan jangan ragu untuk memposting pertanyaan Anda, mencari jawaban, atau menyarankan fitur di Komunitas Pengembang Azure DevOps kami. Halaman dukungan .