DevTest Labs'i Azure Pipelines ile tümleştirme

Azure DevTest Labs Azure Pipelines sürekli tümleştirme ve teslim (CI/CD) işlem hatlarıyla tümleştirmek için Azure DevTest Labs Tasks uzantısını kullanabilirsiniz. Uzantı, Azure Pipelines'a aşağıdakiler dahil olmak üzere çeşitli görevler yükler:

  • Sanal makine (VM) oluşturma
  • VM’den özel görüntü oluşturma
  • VM silme

Bu görevler, örneğin bir altın görüntü VM'sini hızla dağıtmayı, belirli bir testi çalıştırmayı ve ardından VM'yi silmeyi kolaylaştırır.

Bu makalede, Azure DevTest Labs Tasks kullanarak vm oluşturma ve dağıtma, özel görüntü oluşturma ve ardından vm'yi silme işlemi tek bir yayın işlem hattında gösterilir. Normalde bu görevleri kendi derleme, test ve dağıtım işlem hatlarınızda ayrı ayrı gerçekleştirirsiniz.

Azure DevTest Labs ile çalışma başlama

Azure’da yeni misiniz? Ücretsiz bir Azure hesabı oluşturun.

Azure’u zaten kullanıyor musunuz? DevTest Labs'deki ilk laboratuvarınızı kullanmaya başlama: dakikalar içinde Azure DevTest Labs kullanmaya başlayın.

Önkoşullar

Laboratuvar VM'sini oluşturmak için şablon oluşturma

İlk olarak, isteğe bağlı olarak bir laboratuvar VM'si oluşturan bir Azure Resource Manager (ARM) şablonu oluşturun.

  1. Azure portal laboratuvarınızda üst menü çubuğunda Ekle'yi seçin.
  2. Temel ekran seçin ekranında VM için bir Windows temel görüntüsü seçin.
  3. Laboratuvar kaynağı oluştur ekranında, Yapıtlar'ın altında Yapıt Ekle veya Kaldır'ı seçin.
  4. Yapıt ekle ekranında winrm'yi arayın ve Ardından WinRM'yi Yapılandır'ın yanındaki oku seçin.
  5. Yapıt ekle bölmesinde, VM için gibi contosolab00000000000000.westus3.cloudapp.azure.comtam etki alanı adı (FQDN) girin. Tamam’ı ve ardından tekrar Tamam’ı seçin.
  6. Gelişmiş Ayarlar sekmesini seçin ve IP Adresi için Genel'i seçin.

    Not

    Paylaşılan IP adresiyle WinRM yapıtı kullanıyorsanız, bir dış bağlantı noktasını WinRM bağlantı noktasına eşlemek için bir ağ adresi çevirisi (NAT) kuralı eklemeniz gerekir. VM'yi genel IP adresiyle oluşturursanız NAT kuralına ihtiyacınız yoktur. Bu izlenecek yol için genel IP adresiyle VM'yi oluşturun.

  7. ARM şablonunu görüntüle'yi seçin.
  8. Şablon kodunu kopyalayın ve yerel kaynak denetimi dalınıza CreateVMTemplate.json adlı bir dosya olarak kaydedin.
  9. Şablonu projenizin kaynak denetim sistemine iade edin.

Daha fazla bilgi ve ayrıntılar için bkz. Resource Manager şablonu kullanma.

VM özelliklerini almak için betik oluşturma

Ardından, Azure Dosya Kopyalama ve Hedef Makinelerde PowerShell gibi görev adımlarının VM'lere uygulama dağıtmak için kullandığı değerleri toplamak için bir betik oluşturun. Normalde bu görevleri kullanarak Azure VM'lerinize kendi uygulamalarınızı dağıtırsınız. Görevler vm kaynak grubu adı, IP adresi ve FQDN gibi değerler gerektirir.

Not

Azure ile etkileşime geçmek için Azure Az PowerShell modülünü kullanmanızı öneririz. Başlamak için bkz. Azure PowerShell'i yükleme. Az PowerShell modülüne nasıl geçeceğinizi öğrenmek için bkz. Azure PowerShell’i AzureRM’den Az’ye geçirme.

Aşağıdaki betiği GetLabVMParams.ps1gibi bir adla kaydedin ve projenizin kaynak denetim sisteminde denetleyin.

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"

Azure Pipelines’da yayın işlem hattı oluşturma

Ardından Azure Pipelines'da yayın işlem hattını oluşturun. İşlem hattı görevleri, ARM şablonunu oluştururken VM'ye atadığınız değerleri kullanır.

  1. Azure DevOps Services proje sayfanızdan sol gezinti bölmesinden İşlem Hatları Yayınları'nı> seçin.
  2. Yeni işlem hattı'ı seçin.
  3. Şablon seçin bölmesinde İşi boşalt'ı seçin.
  4. Aşama bölmesini kapatın.
  5. Yeni yayın işlem hattı sayfasında Değişkenler sekmesini seçin.
  6. Ekle'yi seçin ve her birini ekledikten sonra Ekle'yi seçerek aşağıdaki Ad ve Değer çiftlerini girin.
    • vmName: ARM şablonunda atadığınız VM adı.
    • userName: VM'ye erişmek için kullanılan kullanıcı adı.
    • parola: Kullanıcı adı için parola. Parolayı gizlemek ve güvenliğini sağlamak için kilit simgesini seçin.

Yapıt ekleme

  1. Yeni yayın işlem hattı sayfasındaki İşlem Hattı sekmesinde Yapıt ekle'yi seçin.
  2. Yapıt ekle bölmesindeAzure Deposu'na tıklayın.
  3. Proje listesinde DevOps projenizi seçin.
  4. Kaynak (depo) listesinde kaynak deponuzu seçin.
  5. Varsayılan dal listesinde kullanıma almak istediğiniz dalı seçin.
  6. Add (Ekle) seçeneğini belirleyin.

DevTest Labs VM oluşturma

Sonraki adım, gelecekteki dağıtımlar için kullanılacak altın renkli bir görüntü VM'sini oluşturur. Bu adımda VM Oluştur görevi Azure DevTest Labs kullanılır.

  1. Yeni yayın işlem hattı sayfasındaki İşlem Hattı sekmesinde, 1. Aşamada köprülenmiş metni seçin.

  2. Sol bölmede Aracı işi'nin yanındaki artı işaretini + seçin.

  3. Sağ bölmedeki Görev ekle'nin altında VM oluştur'Azure DevTest Labs arayın ve seçin ve Ekle'yi seçin.

  4. Sol bölmede vm Azure DevTest Labs oluştur görevini seçin.

  5. Sağ bölmede, formu aşağıda gösterildiği gibi doldurun:

    • Azure RM Aboneliği: Açılan listeden hizmet bağlantınızı veya aboneliğinizi seçin ve gerekirse Yetki ver'i seçin.

      Not

      Azure aboneliğinize daha kısıtlı izinler bağlantısı oluşturma hakkında bilgi için bkz. Azure Resource Manager hizmet uç noktası.

    • Laboratuvar: DevTest Labs laboratuvar adınızı seçin.

    • Sanal Makine Adı: Sanal makine adınız için belirttiğiniz değişken: $vmName.

    • Şablon: Proje deponuzda iade ettiğiniz şablon dosyasına göz atın ve dosyayı seçin.

    • Parametre Dosyası: Bir parametre dosyasını deponuza denetlediyseniz, bu dosyaya göz atın ve dosyayı seçin.

    • Parametre Geçersiz Kılmaları: girin -newVMName '$(vmName)' -userName '$(userName)' -password '$(password)'.

    • Çıkış Değişkenleri'ni açın ve Başvuru adı'nın altında, oluşturulan laboratuvar VM kimliği için değişkeni girin. Kolaylık olması için Başvuru adı olarak vm girelim. labVmId bu değişkenin bir özniteliği olacak ve daha sonra $vm.labVmId olarak adlandırılır. Başka bir ad kullanıyorsanız, sonraki görevlerde buna uygun olarak kullanmayı unutmayın.

      Laboratuvar VM Kimliği şu biçimde olacaktır: /subscriptions/{subscription Id}/resourceGroups/{resource group Name}/providers/Microsoft.DevTestLab/labs/{lab name}/virtualMachines/{vmName}.

DevTest Labs VM'sinin ayrıntılarını toplama

Ardından işlem hattı, DevTest Labs VM'sinin ayrıntılarını toplamak için oluşturduğunuz betiği çalıştırır.

  1. Yayın işlem hattı Görevleri sekmesinde Aracı işi'nin yanındaki artı işaretini + seçin.
  2. Sağ bölmedeki Görev ekle'nin altında Azure PowerShell arayın ve seçin ve Ekle'yi seçin.
  3. Sol bölmede Azure PowerShell betiğini seçin: FilePath görevi.
  4. Sağ bölmede, formu aşağıda gösterildiği gibi doldurun:
    • Azure Aboneliği: Hizmet bağlantınızı veya aboneliğinizi seçin.
    • Betik Türü: Betik Dosyası Yolu'nu seçin.
    • Betik Yolu: Kaynak kod deponuzda iade ettiğiniz PowerShell betiğine göz atın ve bunu seçin. Yolu basitleştirmek için yerleşik özellikleri kullanabilirsiniz, örneğin: $(System.DefaultWorkingDirectory/Scripts/GetLabVMParams.ps1.
    • Betik Bağımsız Değişkenleri: Değeri -labVmId $(vm.labVmId)olarak girin.

Betik gerekli değerleri toplar ve bunları yayın işlem hattı içindeki ortam değişkenlerinde depolar, böylece bunlara sonraki adımlarda başvurabilirsiniz.

DevTest Labs VM'sinden VM görüntüsü oluşturma

Sonraki görev, laboratuvarınızda yeni dağıtılan VM'nin görüntüsünü oluşturur. Görüntüyü kullanarak vm'nin kopyalarını isteğe bağlı olarak oluşturarak geliştirici görevleri gerçekleştirebilir veya testleri çalıştırabilirsiniz.

  1. Yayın işlem hattı Görevleri sekmesinde Aracı işi'nin yanındaki artı işaretini + seçin.
  2. Görev ekle'nin altında Özel Görüntü Oluştur'u Azure DevTest Labs ve ardından Ekle'yi seçin.
  3. Sol bölmede Özel Görüntü Oluştur görevini Azure DevTest Labs seçin.
  4. Sağ bölmede, formu aşağıda gösterildiği gibi doldurun:
    • Azure RM Aboneliği: Hizmet bağlantınızı veya aboneliğinizi seçin.
    • Laboratuvar: Laboratuvarınızı seçin.
    • Özel Görüntü Adı: Özel görüntü için bir ad girin.
    • Açıklama: Doğru görüntüyü seçmeyi kolaylaştırmak için isteğe bağlı bir açıklama girin.
    • Kaynak Laboratuvar VM'si: Kaynak labVmId. Değeri $(vm.labVmId) olarak girin.
    • Çıkış Değişkenleri: Gerekirse varsayılan Özel Görüntü Kimliği değişkeninin adını düzenleyebilirsiniz.

Uygulamanızı DevTest Labs VM'sine dağıtma (isteğe bağlı)

Uygulamanızı yeni DevTest Labs VM'sine dağıtmak için görevler ekleyebilirsiniz. Bir uygulamayı dağıtmadan yalnızca DevTest Labs VM ve özel görüntü oluşturma denemeleri yapmak istiyorsanız, bu adımı atlayabilirsiniz.

Uygulamaları dağıtmak için genellikle kullandığınız görevler, Hedef Makinelerde Azure Dosya Kopyalama ve PowerShell'dir. Görev parametreleri için ihtiyacınız olan VM bilgilerini, yayın işlem hattı içinde labVmRgName, labVMIpAddress ve labVMFqdn adlı üç yapılandırma değişkeninde bulabilirsiniz.

VM’yi silin

Son görev, laboratuvarınızda dağıttığınız VM'yi silmektir. Geliştirici görevlerini gerçekleştirdikten veya dağıtılan VM'de ihtiyacınız olan testleri çalıştırdıktan sonra normalde VM'yi silersiniz.

  1. Yayın işlem hattı Görevleri sekmesinde Aracı işi'nin yanındaki artı işaretini + seçin.
  2. Görev ekle'ninaltında Azure DevTest Labs VM Sil'i ve ardından Ekle'yi seçin.
  3. Görevi aşağıdaki gibi yapılandırın:
    • Azure RM Aboneliği: Hizmet bağlantınızı veya aboneliğinizi seçin.
    • Laboratuvar: Laboratuvarınızı seçin.
    • Sanal Makine: Değeri $(vm.labVmId) olarak girin.
    • Çıkış Değişkenleri: Başvuru adı'nın altında labVmId değişkeninin varsayılan adını değiştirdiyseniz buraya girin. Varsayılan değer $(labVmId)'dir.

Yayın işlem hattını kaydetme

Yeni yayın işlem hattını kaydetmek için:

  1. Yayın işlem hattı sayfasının üst kısmındaki Yeni yayın işlem hattı'nı seçin ve işlem hattı için yeni bir ad girin.
  2. Sağ üst köşeden Kaydet'i seçin.

Yayın oluşturma ve çalıştırma

Yeni işlem hattını kullanarak bir yayın oluşturmak ve çalıştırmak için:

  1. Yayın işlem hattı sayfasında sağ üst köşede Yayın oluştur'u seçin.
  2. Yapıtlar'ın altında en son derlemeyi ve ardından Oluştur'u seçin.

Her sürüm aşamasında, VM oluşturma, görüntü oluşturma ve VM silme işlemini görmek için Azure portal laboratuvarınızın görünümünü yenileyebilirsiniz.

İhtiyacınız olduğunda VM oluşturmak için özel görüntüyü kullanabilirsiniz.

Sonraki adımlar