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

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

  1. Azure DevOps projenizde İşlem Hatları Ortamları'na >gidin ve ardından Ortam oluştur'u veya Yeni ortam'ı seçin.

  2. İlk Yeni ortam ekranında bir Ad ve isteğe bağlı bir Açıklama ekleyin.

  3. Kaynak'ın altında Sanal makineler'i ve ardından İleri'yi seçin.

    Ortam eklemeyi gösteren ekran görüntüsü.

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.

  1. Sonraki Yeni ortam ekranında İşletim sistemi'nin altında Linux'u seçin.

  2. Linux kayıt betiğini kopyalayın.

    Sanal makine eklemeyi gösteren ekran görüntüsü.

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

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

    Oluşturulan yeni ortamın iletisinin ekran görüntüsü.

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

Kaynaklar sekmesinin ekran görüntüsü.

İş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 resourceNamehedefler.

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

VM etiketlerini ayarlamayı gösteren ekran görüntüsü.

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 Dağıtımları görünümünü gösteren ekran görüntüsü.

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