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

  1. Buka tab RilisAzure Pipelines dan pilih ikon "+" untuk membuat alur rilis baru.

  2. Dalam dialog Buat alur rilis , pilih templat Kosong dan pilih Berikutnya.

  3. Di halaman berikutnya, pilih alur build yang Anda buat sebelumnya dan pilih Buat. Ini membuat alur rilis baru dengan satu tahap default.

  4. 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

  5. Konfigurasikan tugas Build Machine Image sebagai berikut:

    Build Machine ImageSebarkan: 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 LTS

    • Paket Penyebaran: Tentukan jalur direktori paket penyebaran relatif terhadap $(System.DefaultWorkingDirectory). Contohnya $(System.DefaultWorkingDirectory)/Packer-NodeJs/drop

    • Skrip 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.sh Skrip 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

    Azure PowerShellSebarkan: Azure PowerShell - Jalankan skrip PowerShell untuk memperbarui Set Skala Komputer Virtual dengan VHD baru.

    • Jenis Koneksi Azure: Pilih Azure Resource Manager

    • Langganan 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 Script

    • Skrip 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 $vmss
    

    Anda dapat menggunakan variabel untuk meneruskan nilai seperti grup sumber daya dan nama set skala komputer virtual ke skrip jika Anda mau.

  6. Dalam dialog Kondisi penyebaran untuk tahap tersebut, pastikan bahwa bagian Pemicu diatur ke Setelah pembuatan rilis.

  7. Masukkan nama untuk alur rilis dan simpan.

  8. 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