Ortamlardaki VM kaynaklarını yönetme
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020
Bu makalede, birden çok makine arasında Azure Pipelines dağıtımlarını yönetmek için ortamlarda sanal makine (VM) kaynaklarının nasıl kullanılacağı açıklanmaktadır. Sıralı dağıtımlar için aracıları kendi sunucularınıza da yükleyebilirsiniz.
VM kaynakları Geliştirme, Test veya Üretim gibi ortamlarda bulunabilir. Bir ortam tanımladıktan sonra, dağıtımlarla hedefe VM'ler ekleyebilirsiniz. Ortamın dağıtım geçmişi, her vm'den işlem hattınıza izlenebilirlik sağlar.
Önkoşullar
- İşlem hattınıza bağlı bir kaynak deposuna erişim.
- Ortama bağlanmak istediğiniz VM'lerde yürütülebilir betikleri indirme ve çalıştırma erişimi ve izni.
- Ortamı içeren Azure DevOps projesinde Proje Yöneticisi veya Derleme Yöneticisi izinleri . Daha fazla bilgi için bkz . İşlem hattı güvenlik kaynakları.
- Dağıtım havuzu veya kuruluş tarafından kullanılabilen hedef sunucu kümesi için yönetici rolü. Daha fazla bilgi için bkz . dağıtım havuzu ve ortam izinleri.
Not
Dağıtım grubu aracısını yapılandırmak için veya VM ortam kaynağını kaydederken hata görürseniz, kişisel erişim belirteci (PAT) kapsamınızı Tüm erişilebilir kuruluşlar olarak ayarladığınızdan emin olun.
Ortamı oluşturma
Bir ortama VM kaynağı eklemek için aşağıdaki yordamı kullanın. Fiziksel makineleri ayarlamak için aynı işlemi kullanabilirsiniz.
VM kaynağı ekleme
Azure DevOps projenizde İşlem Hatları Ortamları'na >gidin ve ardından Ortam oluştur'u veya Yeni ortam'ı seçin.
İlk Yeni ortam ekranında bir Ad ve isteğe bağlı bir Açıklama ekleyin.
Kaynak'ın altında Sanal makineler'i ve ardından İleri'yi seçin.
Kayıt betiğini kopyalama
VM kaynakları için aracı betikleri, şirket içinde barındırılan aracıların betikleri gibidir ve aynı komutları kullanır. Betikler, oturum açmış kullanıcı için bir Azure DevOps Kişisel Erişim Belirteci (PAT) içerir ve bu belirteç betik oluşturulduktan üç saat sonra sona erer.
Sonraki Yeni ortam ekranında İşletim sistemi'nin altında Linux'u seçin.
Linux kayıt betiğini kopyalayın.
Betik, ortama eklenen tüm Linux VM'leri için aynıdır. Aracı betiğini yükleme hakkında daha fazla bilgi için bkz . Şirket içinde barındırılan Linux aracıları.
Kopyalanan betiği çalıştırma
Kapat'ı seçin ve yeni ortamın oluşturulduğunu unutmayın. Betiği yeniden kopyalamak için (örneğin PAT'nizin süresi dolarsa) Kaynak ekle'yi seçin.
Kopyalanan betiği, ortama kaydetmek istediğiniz her hedef VM'de çalıştırın.
Not
VM'nin üzerinde başka bir aracı çalışıyorsa, aracının ortama kaydolması için benzersiz bir ad sağlayın.
VM kaydedildikten sonra, ortamın Kaynaklar sekmesinin altında bir kaynak olarak görünür.
İşlem hatlarında VM'leri kullanma
YAML işlem hattınızda, ortamlarına başvurarak VM'leri hedefleyebilirsiniz. varsayılan olarak, iş o ortamın için kaydedilen tüm VM'leri resourceName
hedefler.
Not
Bir aşamayı yeniden denediğinizde, dağıtım yalnızca başarısız olan hedeflerde değil tüm VM'lerde yeniden çalışır.
trigger:
- main
pool:
vmImage: ubuntu-latest
jobs:
- deployment: VMDeploy
displayName: Deploy to VM
environment:
name: VMenv
resourceName: VMenv
resourceType: virtualMachine
strategy:
runOnce:
deploy:
steps:
- script: echo "Hello world"
Not
resourceType
gibi virtualMachine
değerler büyük/küçük harfe duyarlıdır. Yanlış büyük/küçük harf eşleşmesi kaynak bulunamadı.
ortamında belirterek resourceName
ortamdaki belirli VM'lere dağıtabilirsiniz. Aşağıdaki örnek yalnızca ortamda adlı RESOURCE-PC
VM kaynağına dağıtılır VMenv
.
trigger:
- main
pool:
vmImage: ubuntu-latest
jobs:
- deployment: VMDeploy
displayName: Deploy to VM
environment:
name: VMenv
resourceType: virtualMachine
resourceName: RESOURCE-PC # only deploy to the VM resource named RESOURCE-PC
strategy:
runOnce:
deploy:
steps:
- script: echo "Hello world"
YAML işlem hattı dağıtım işleri hakkında daha fazla bilgi için bkz . YAML işlem hatları şeması.
Etiket ekleme ve yönetme
Etiketler, dağıtım için bir ortamdaki belirli bir VM kümesini hedeflemenin bir yoludur. Etiketler her birinde 256 karakterle sınırlıdır. Kullanabileceğiniz etiket sayısıyla ilgili bir sınır yoktur.
Etkileşimli kayıt betiğinde veya VM kaynağı için diğer eylemler'i seçerek kullanıcı arabirimi aracılığıyla VM'ler için etiketler ekleyebilir veya etiketleri kaldırabilirsiniz.
Birden çok etiket belirtirseniz işlem hattı yalnızca tüm etiketleri içeren VM'leri kullanır. Aşağıdaki örnek yalnızca hem hem prod
de etiketleri olan VM'leri windows
hedefler. Etiketlerin yalnızca birine sahip olan veya hiç olmayan VM'ler hedeflenmez.
trigger:
- main
pool:
vmImage: ubuntu-latest
jobs:
- deployment: VMDeploy
displayName: Deploy to VM
environment:
name: VMenv
resourceType: virtualMachine
tags: windows,prod # only deploy to VMs with both windows and prod tags
strategy:
runOnce:
deploy:
steps:
- script: echo "Hello world"
Dağıtım stratejisi uygulama
Uygulamanızın nasıl dağıtılacağını tanımlamak için bir dağıtım strategy
uygulayabilirsiniz. VM'ler hem hem runOnce
rolling
de stratejilerini destekler. Dağıtım stratejileri ve yaşam döngüsü kancaları hakkında daha fazla bilgi için bkz . Dağıtım stratejileri.
Dağıtım geçmişini görüntüleme
İşlemelerin ve iş öğelerinin tam izlenebilirliği için Dağıtımlar sekmesini ve ortam ve kaynak başına işlem hatları arası dağıtım geçmişini seçin.
Vm'yi bir ortamdan kaldırma
Linux ortamından vm kaldırmak için her makinede aşağıdaki komutu çalıştırın.
./config.sh remove