DevTest Labs'i Azure Pipelines ile tümleştirme
Azure DevTest Labs'i Azure Pipelines sürekli tümleştirme ve teslim (CI/CD) işlem hatlarıyla tümleştirmek için Azure DevTest Labs Görevleri 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 altın renkli bir 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 Görevlerini kullanarak vm oluşturma ve dağıtma, özel görüntü oluşturma ve ardından vm'yi silme işlemleri 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? İlk laboratuvarınızı oluşturun ve Azure DevTest Labs'i dakikalar içinde kullanmaya başlayın.
Önkoşullar
Azure portalında bir DevTest Labs laboratuvarı oluşturun veya var olan bir laboratuvarı kullanın.
Azure DevOps Services kuruluşunuza kaydolun veya oturum açın ve bir proje oluşturun ya da mevcut bir projeyi kullanın.
Visual Studio Market'ten Azure DevTest Labs Görevleri uzantısını yükleyin:
Laboratuvar VM'sini oluşturmak için şablon oluşturma
İlk olarak, isteğe bağlı olarak laboratuvar VM'si oluşturan bir Azure Resource Manager (ARM) şablonu oluşturun.
- Azure portalındaki laboratuvarınızda üst menü çubuğunda Ekle'yi seçin.
- Temel seçin ekranında VM için bir Windows temel görüntüsü seçin.
- Laboratuvar kaynağı oluştur ekranında, Yapıtlar'ın altında Yapıt Ekle veya Kaldır'ı seçin.
- Yapıt ekle ekranında winrm araması yapın ve Ardından WinRM'yi Yapılandır'ın yanındaki oku seçin.
- Yapıt ekle bölmesinde VM için gibi
contosolab00000000000000.westus3.cloudapp.azure.com
tam etki alanı adı (FQDN) girin. Tamam'ı ve ardından tekrar Tamam'ı seçin. - 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 vm'yi genel IP adresiyle oluşturun.
- ARM şablonunu görüntüle'yi seçin.
- Şablon kodunu kopyalayın ve yerel kaynak denetimi dalınıza CreateVMTemplate.json adlı bir dosya olarak kaydedin.
- Şablonu projenizin kaynak denetim sistemine iade edin.
VM özelliklerini almak için betik oluşturma
Ardından, Hedef Makinelerde Azure Dosya Kopyalama ve 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şim kurmak 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.ps1 gibi 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.
- Azure DevOps Services proje sayfanızdan sol gezinti bölmesinden İşlem Hatları>Yayınları'nı seçin.
- Yeni işlem hattı'ni seçin.
- Şablon seçin bölmesinde boş iş'i seçin.
- Aşama bölmesini kapatın.
- Yeni yayın işlem hattı sayfasında Değişkenler sekmesini seçin.
- 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
- Yeni yayın işlem hattı sayfasındaki İşlem hattı sekmesinde Yapıt ekle'yi seçin.
- Yapıt ekle bölmesinde Azure Deposu'na tıklayın.
- Proje listesinde DevOps projenizi seçin.
- Kaynak (depo) listesinde kaynak deponuzu seçin.
- Varsayılan dal listesinde kullanıma almak istediğiniz dalı seçin.
- Ekle'yi seçin.
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ım, Azure DevTest Labs CREATE VM görevini kullanır.
Yeni yayın işlem hattı sayfasındaki İşlem Hattı sekmesinde, 1. Aşamada köprülenmiş metni seçin.
Sol bölmede Aracı işi'nin yanındaki artı işaretini + seçin.
Sağ bölmedeki Görev ekle'nin altında Azure DevTest Labs VM Oluştur'u arayın ve seçin ve Ekle'yi seçin.
Sol bölmede Azure DevTest Labs VM oluştur görevini seçin.
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 makinenizin adı için belirttiğiniz değişken: $vmName.
Şablon: Proje deponuzda iade ettiğiniz şablon dosyasına gidin ve dosyayı seçin.
Parametre Dosyası: Bir parametre dosyasını deponuzda denetlediyseniz, adresine gidin 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ı için vm girelim. labVmId bu değişkenin özniteliği olacak ve daha sonra $vm.labVmId olarak adlandırılır. Başka bir ad kullanıyorsanız, sonraki görevlerde bu adı uygun şekilde 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.
- Yayın işlem hattı Görevleri sekmesinde Aracı işi'nin yanındaki artı işaretini + seçin.
- Sağ bölmedeki Görev ekle'nin altında Azure PowerShell'i arayıp seçin ve Ekle'yi seçin.
- Sol bölmede Azure PowerShell betiğini seçin : FilePath görevi.
- Sağ bölmede formu aşağıdaki 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ğini bulun ve 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 isteğe bağlı olarak vm'nin kopyalarını oluşturarak geliştirici görevleri gerçekleştirebilir veya testleri çalıştırabilirsiniz.
- Yayın işlem hattı Görevleri sekmesinde Aracı işi'nin yanındaki artı işaretini + seçin.
- Görev ekle'nin altında Azure DevTest Labs Özel Görüntü Oluştur'u ve ardından Ekle'yi seçin.
- Sol bölmede Azure DevTest Labs Özel Görüntü Oluştur görevini seçin.
- Sağ bölmede formu aşağıdaki 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. Yalnızca bir DevTest Labs VM ve özel görüntü oluşturma denemeleri yapmak istiyorsanız, uygulama dağıtmadan bu adımı atlayabilirsiniz.
Genellikle uygulamaları dağıtmak için 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.
- Yayın işlem hattı Görevleri sekmesinde Aracı işi'nin yanındaki artı işaretini + seçin.
- Görev ekle'nin altında Azure DevTest Labs VM'yi sil'i ve ardından Ekle'yi seçin.
- 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:
- 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.
- 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:
- Yayın işlem hattı sayfasında sağ üst köşede Yayın oluştur'u seçin.
- 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ında 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
- Genel DevTest Labs GitHub deposundan DevTest Labs otomasyonu için daha hızlı başlangıç ARM şablonlarını keşfedin.
- Gerekirse bkz . Azure Pipelines sorunlarını giderme.