Mengintegrasikan DevTest Labs ke Azure Pipelines

Anda dapat menggunakan ekstensi Tugas Azure DevTest Labs untuk mengintegrasikan Azure DevTest Labs ke dalam alur pengiriman dan integrasi berkelanjutan Azure Pipelines (CI/CD). Ekstensi memasang beberapa tugas ke Azure Pipelines, termasuk:

  • Membuat komputer virtual (VM)
  • Membuat gambar kustom dari VM
  • Menghapus VM

Tugas ini memudahkan, misalnya, dengan cepat menyebarkan Mesin Virtual gambar emas, menjalankan pengujian tertentu, lalu menghapus mesin virtual.

Artikel ini menunjukkan cara menggunakan Tugas Azure DevTest Labs untuk membuat dan menyebarkan Mesin Virtual, membuat gambar kustom, lalu menghapus mesin virtual, semuanya dalam satu alur rilis. Anda biasanya akan melakukan tugas-tugas ini secara terpisah di alur pembuatan, pengujian, dan penyebaran Anda sendiri.

Mulai menggunakan Azure DevTest Labs

Baru menggunakan Azure? Buat akun Azure gratis.

Sudah ada di Azure? Mulai menggunakan lab pertama Anda di DevTest Labs: Mulai menggunakan Azure DevTest Labs dalam hitung menit.

Prasyarat

  • Di portal Azure, buat lab DevTest Labs, atau gunakan lab yang sudah ada.

  • Daftar atau masuk ke organisasi Azure DevOps Services Anda, dan buat proyek, atau gunakan proyek yang sudah ada.

  • Pasang ekstensi Tugas Azure DevTest Labs dari Visual Studio Marketplace:

    1. Buka Tugas Azure DevTest Labs.
    2. Pilih Dapatkan gratis.
    3. Pilih organisasi Azure DevOps Services Anda dari daftar dropdown, lalu pilih Pasang.

Buat pola dasar untuk membuat mesin virtual lab

Pertama, buat pola dasar Azure Resource Manager (ARM) yang membuat mesin virtual lab sesuai permintaan.

  1. Di lab Anda di portal Azure, pilih Tambahkan di bilah menu atas.
  2. Pada layar Pilih basis, pilih gambar basis Windows untuk mesin virtual.
  3. Pada layar Buat sumber daya lab, di bawah Artefak, pilih Tambah atau Hapus Artefak.
  4. Pada layar Tambahkan artefak, telusuri winrm, lalu pilih panah di samping Konfigurasi WinRM.
  5. Pada panel Tambahkan artefak, masukkan nama domain yang sepenuhnya memenuhi syarat (FQDN) untuk mesin virtual, seperti contosolab00000000000000.westus3.cloudapp.azure.com. Pilih OK, lalu pilih Buat lagi.
  6. Pilih tab Pengaturan Tingkat Lanjut, dan untuk Alamat IP, pilih Publik.

    Catatan

    Jika Anda menggunakan artefak WinRM dengan alamat IP bersama, Anda harus menambahkan aturan terjemahan alamat jaringan (NAT) untuk memetakan port eksternal ke port WinRM. Anda tidak memerlukan aturan NAT jika Anda membuat VM dengan alamat IP publik. Untuk panduan ini, buat mesin virtual dengan alamat IP publik.

  7. Pilih Tampilkan pola dasar ARM.
  8. Salin kode pola dasar dan simpan sebagai file bernama CreateVMTemplate.json di cabang kontrol sumber lokal Anda.
  9. Periksa di pola dasar ke sistem kontrol sumber proyek Anda.

Untuk informasi dan detail lebih lanjut, lihat Menggunakan pola dasar Resource Manager.

Membuat skrip untuk mendapatkan properti VM

Selanjutnya, buat skrip untuk mengumpulkan nilai yang digunakan langkah tugas seperti Azure File Copy dan PowerShell on Target Machines untuk menerapkan aplikasi ke mesin virtual. Anda biasanya akan menggunakan tugas-tugas ini untuk menyebarkan aplikasi Anda sendiri ke mesin virtual Azure Anda. Tugas tersebut memerlukan nilai seperti nama grup sumber daya VM, alamat IP, dan FQDN.

Catatan

Kami menyarankan agar Anda menggunakan modul Azure Az PowerShell untuk berinteraksi dengan Azure. Lihat Menginstal Azure PowerShell untuk memulai. Untuk mempelajari cara bermigrasi ke modul Az PowerShell, lihat Memigrasikan Azure PowerShell dari AzureRM ke Az.

Simpan skrip berikut dengan nama seperti GetLabVMParams.ps1, dan periksa ke sistem kontrol sumber proyek Anda.

Param( [string] $labVmId)

$labVmComputeId = (Get-AzResource -Id $labVmId).Properties.ComputeId

# Get lab VM resource group name
$labVmRgName = (Get-AzResource -Id $labVmComputeId).ResourceGroupName

# Get the lab VM Name
$labVmName = (Get-AzResource -Id $labVmId).Name

# Get lab VM public IP address
$labVMIpAddress = (Get-AzPublicIpAddress -ResourceGroupName $labVmRgName -Name $labVmName).IpAddress

# Get lab VM FQDN
$labVMFqdn = (Get-AzPublicIpAddress -ResourceGroupName $labVmRgName -Name $labVmName).DnsSettings.Fqdn

# Set a variable labVmRgName to store the lab VM resource group name
Write-Host "##vso[task.setvariable variable=labVmRgName;]$labVmRgName"

# Set a variable labVMIpAddress to store the lab VM Ip address
Write-Host "##vso[task.setvariable variable=labVMIpAddress;]$labVMIpAddress"

# Set a variable labVMFqdn to store the lab VM FQDN name
Write-Host "##vso[task.setvariable variable=labVMFqdn;]$labVMFqdn"

Membuat alur rilis di Azure Pipelines

Selanjutnya, buat alur rilis di Azure Pipelines. Tugas alur menggunakan nilai yang Anda tetapkan ke mesin virtual saat Anda membuat pola dasar ARM.

  1. Dari halaman proyek Azure DevOps Services, pilih Alur>Rilis dari navigasi kiri.
  2. Pilih Pipa baru.
  3. Di panel Pilih templat , pilih Pekerjaan kosong.
  4. Tutup panel Tahap .
  5. Pada halaman Alur rilis baru, pilih tab Variabel.
  6. Pilih Tambahkan, dan masukkan pasangan Nama dan Nilai berikut, pilih Tambahkan setelah menambahkan masing-masing.
    • vmName: Nama mesin virtual yang Anda tugaskan di pola dasar ARM.
    • userName: Nama pengguna untuk mengakses mesin virtual.
    • kata sandi: Kata sandi untuk nama pengguna. Pilih ikon kunci untuk menyembunyikan dan mengamankan kata sandi.

Menambahkan artefak

  1. Pada halaman alur rilis baru, pada tab Alur , pilih Tambahkan artefak.
  2. Pada panel Tambahkan artefak, pilih Azure Repo.
  3. Di daftar Proyek , pilih proyek DevOps Anda.
  4. Di daftar Sumber (repositori) , pilih repositori sumber Anda.
  5. Di daftar Cabang default , pilih cabang untuk dicek keluar.
  6. Pilih Tambahkan.

Membuat VM DevTest Labs

Langkah selanjutnya membuat mesin virtual gambar emas yang akan digunakan untuk penyebaran di masa mendatang. Langkah ini menggunakan tugas Azure DevTest Labs Membuat Mesin Virtual.

  1. Pada halaman alur rilis baru, pada tab Alur, pilih teks hyperlink di Tahap 1.

  2. Di panel kiri, pilih tanda plus + di samping Pekerjaan agen.

  3. Di bawah Tambahkan tugas di panel kanan, telusuri dan pilih Azure DevTest Labs Membuat Mesin Virtual, lalu pilih Tambahkan.

  4. Di panel kiri, pilih tugas Buat Mesin Virtual Azure DevTest Labs.

  5. Di panel kanan, isi formulir sebagai berikut:

    • Langganan Azure RM: Pilih sambungan layanan atau langganan Anda dari daftar dropdown, dan pilih Otorisasi jika perlu.

      Catatan

      Untuk informasi tentang membuat sambungan izin yang lebih terbatas ke langganan Azure Anda, lihat titik akhir layanan Azure Resource Manager.

    • Lab: Pilih nama lab DevTest Labs Anda.

    • Nama Komputer Virtual: variabel yang Anda tentukan untuk nama komputer virtual Anda: $vmName.

    • Pola dasar: Telusuri dan pilih file pola dasar yang Anda periksa ke repositori proyek Anda.

    • File Parameter: Jika Anda memeriksa file parameter ke repositori Anda, telusuri dan pilih file tersebut.

    • Ambil Alih Parameter: Masukkan -newVMName '$(vmName)' -userName '$(userName)' -password '$(password)'.

    • Turunkan Variabel Output, dan di bawah Nama referensi, masukkan variabel untuk ID mesin virtual lab yang dibuat. Mari kita masukkan vm untuk Nama referensi untuk kesederhanaan. labVmId akan menjadi atribut dari variabel ini dan akan disebut nanti sebagai $vm.labVmId. Jika Anda menggunakan nama lain, ingatlah untuk menggunakannya sesuai dalam tugas berikutnya.

      ID VM lab akan dalam bentuk berikut: /subscriptions/{subscription Id}/resourceGroups/{resource group Name}/providers/Microsoft.DevTestLab/labs/{lab name}/virtualMachines/{vmName}.

Kumpulkan detail DevTest Labs VM

Selanjutnya, alur menjalankan skrip yang Anda buat untuk mengumpulkan detail mesin virtual DevTest Labs.

  1. Pada tab Tugas alur rilis , pilih tanda + plus di samping Pekerjaan agen.
  2. Di bawah Tambahkan tugas di panel kanan, telusuri dan pilih Azure PowerShell, lalu pilih Tambahkan.
  3. Di panel kiri, pilih tugas skrip Azure PowerShell: FilePath.
  4. Di panel kanan, isi formulir sebagai berikut:
    • Langganan Azure: Pilih sambungan atau langganan layanan Anda.
    • Jenis Skrip: Pilih Jalur File Skrip.
    • Jalur Skrip: Telusuri dan pilih skrip PowerShell yang Anda periksa ke repositori kode sumber Anda. Anda dapat menggunakan properti bawaan untuk menyederhanakan jalur, misalnya: $(System.DefaultWorkingDirectory/Scripts/GetLabVMParams.ps1.
    • Argumen Skrip: Masukkan nilai sebagai -labVmId $(vm.labVmId).

Skrip mengumpulkan nilai yang diperlukan dan menyimpannya dalam variabel lingkungan dalam alur rilis, sehingga Anda dapat merujuknya di langkah selanjutnya.

Membuat gambar VM dari DevTest Labs VM

Tugas berikutnya membuat gambar mesin virtual yang baru disebarkan di lab Anda. Anda dapat menggunakan gambar untuk membuat salinan mesin virtual sesuai permintaan untuk melakukan tugas pengembang atau menjalankan pengujian.

  1. Pada tab Tugas alur rilis , pilih tanda + plus di samping Pekerjaan agen.
  2. Di bawah Tambahkan tugas, pilih Azure DevTest Labs Membuat Gambar Kustom, dan pilih Tambahkan.
  3. Di panel kiri, pilih tugas Azure DevTest Labs Membuat Gambar Kustom.
  4. Di panel kanan, isi formulir sebagai berikut:
    • Langganan Azure RM: Pilih sambungan atau langganan layanan Anda.
    • Lab: Pilih lab Anda.
    • Nama Gambar Kustom: Masukkan nama untuk gambar kustom.
    • Deskripsi: Masukkan deskripsi opsional untuk memudahkan memilih gambar yang benar.
    • Mesin Virtual Lab Sumber: labVmId sumber. Masukkan nilai sebagai $(vm.labVmId).
    • Variabel Output: Anda dapat mengedit nama variabel ID Gambar Kustom default jika perlu.

Sebarkan aplikasi Anda ke DevTest Labs VM (opsional)

Anda dapat menambahkan tugas untuk menyebarkan aplikasi ke DevTest Labs VM yang baru. Jika Anda hanya ingin bereksperimen dengan membuat mesin virtual DevTest Labs dan gambar kustom, tanpa menyebarkan aplikasi, Anda dapat melompati langkah ini.

Tugas yang biasanya Anda gunakan untuk menyebarkan aplikasi adalah Azure File Copy dan PowerShell on Target Machines. Anda dapat menemukan informasi mesin virtual yang Anda perlukan untuk parameter tugas dalam tiga variabel konfigurasi bernama labVmRgName, labVMIpAddress, dan labVMFqdn dalam alur rilis.

Menghapus VM

Tugas terakhir adalah menghapus mesin virtual yang Anda sebarkan di lab Anda. Anda biasanya akan menghapus mesin virtual setelah melakukan tugas pengembang atau menjalankan pengujian yang Anda perlukan pada mesin virtual yang diterapkan.

  1. Pada tab Tugas alur rilis , pilih tanda + plus di samping Pekerjaan agen.
  2. Di bawah Tambahkan tugas, pilih Azure DevTest Labs Menghapus VM, dan pilih Tambahkan.
  3. Mengonfigurasi tugas sebagai berikut:
    • Langganan Azure RM: Pilih sambungan atau langganan layanan Anda.
    • Lab: Pilih lab Anda.
    • Komputer Virtual: Masukkan nilai sebagai $(vm.labVmId).
    • Variabel Output: Di bawah Nama referensi, jika Anda mengubah nama default variabel labVmId, masukkan di sini. Nilai defaultnya adalah $(labVmId) .

Menyimpan alur rilis

Untuk menyimpan alur rilis baru:

  1. Pilih Alur rilis baru di bagian atas halaman akur rilis, dan masukkan nama baru untuk alur tersebut.
  2. Pilih Simpan di kanan atas.

Membuat dan menjalankan rilis

Untuk membuat dan menjalankan rilis menggunakan alur baru:

  1. Pada halaman alur rilis, pilih Buat rilis di kanan atas.
  2. Di bawah Artefak, pilih build terbaru, lalu pilih Buat.

Pada setiap tahap rilis, Anda dapat merefresh tampilan lab Anda di portal Azure untuk melihat pembuatan mesin virtual, pembuatan gambar, dan penghapusan mesin virtual.

Anda dapat menggunakan gambar kustom untuk membuat VM kapan pun Anda membutuhkannya.

Langkah berikutnya