Ortam - sanal makine kaynağı

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020

YAML işlem hatları ile birden çok makinede dağıtımları yönetmek için sanal makine (VM) kaynaklarını kullanın. VM kaynakları, sıralı dağıtımlar için aracıları kendi sunucularınıza yüklemenize olanak sağlar.

VM kaynakları ortamlara bağlanır. Bir ortam tanımladıktan sonra, dağıtımlarla hedefe VM'ler ekleyebilirsiniz. Bir ortamdaki dağıtım geçmişi görünümü, VM'nizden işlem hattınıza izlenebilirlik sağlar.

Önkoşullar

En az bir Temel lisansınız ve aşağıdaki alanlara erişiminiz olmalıdır:

  • işlem hattınıza bağlı depo
  • ortama bağlanmak istediğiniz VM

Azure Pipelines güvenliği hakkında daha fazla bilgi için bkz . İşlem hattı güvenlik kaynakları.

Bir ortama VM eklemek için ilgili dağıtım havuzu için Yönetici istrator rolüne sahip olmanız gerekir. Dağıtım havuzu, kuruluş tarafından kullanılabilen bir hedef sunucu kümesidir. Dağıtım havuzu ve ortam izinleri hakkında daha fazla bilgi edinin.

Dekont

Dağıtım grubu aracısını yapılandırıyorsanız veya VM ortam kaynağını kaydederken hata görüyorsanız PAT kapsamını Tüm erişilebilir kuruluşlar olarak ayarlamanız gerekir.

VM kaynağı oluşturma

Dekont

Kayıt betiğiyle fiziksel makineleri ayarlamak için aynı işlemi kullanabilirsiniz.

VM kaynağı eklemenin ilk adımı bir ortam tanımlamaktır.

Ortam tanımlama

  1. İlk ortamınız olup olmadığına bağlı olarak Ortam oluştur'u veya Yeni ortam'ı seçin.
  2. Ortam için bir Ad (gerekli) ve bir Açıklama ekleyin.
  3. Yeni ortamı kaydedin.

Kaynak ekleme

  1. Ortamınızı seçin ve Kaynak ekle'yi seçin.

  2. Kaynak türünüz için Sanal makineler'i seçin. Sonra İleri'yi seçin.

    Add an environment.

  3. İşletim Sistemi için Windows veya Linux'u seçin.

  4. Kayıt betiğini kopyalayın. Windows'ı seçtiyseniz betiğiniz bir PowerShell betiği , Linux'ı seçtiyseniz bir Linux betiği olacaktır.

    Add a virtual machine.

  5. Kopyalanan betiği bu ortama kaydetmek istediğiniz hedef sanal makinelerin her birinde çalıştırın.

    • Windows'a yüklüyorsanız betiği PowerShell yöneticisi olarak çalıştırmanız gerekir.
    • Linux'a yüklüyorsanız yürütülebilir betikleri indirme ve çalıştırma izniniz olmalıdır.

    Dekont

    • Oturum açmış kullanıcının Kişisel Erişim Belirteci (PAT) betikte yer alır. PAT,betiği oluşturduğunuz gün sona erer.
    • VM'nizde çalışan başka bir aracı varsa, aracının ortama kaydolması için benzersiz bir ad sağlayın.
    • Aracı betiğini yükleme hakkında daha fazla bilgi edinmek için bkz . Şirket içinde barındırılan Linux aracıları ve Şirket içinde barındırılan Windows aracıları. VM kaynakları için aracı betikleri, şirket içinde barındırılan aracıların betikleri gibidir ve aynı komutları kullanabilirsiniz.
  6. VM'niz kaydedildikten sonra, ortamın Kaynaklar sekmesinin altında bir ortam kaynağı olarak görünür.

  7. Daha fazla VM eklemek için betiği yeniden kopyalayın. Kaynak>ekle Sanal makineler'i seçin. Windows ve Linux betikleri, ortama eklenen tüm VM'ler için aynıdır.

  8. VM betiği başarıyla yüklendiğinde, VM'niz ortam kaynakları listesinde görünür.

    View resources.

İşlem hatlarında VM kullanma

Ortama başvurarak işlem hattınızdaki VM'leri hedefleyin. varsayılan olarak, işlem hattı işi ile resourceNamebir ortam için tanımlanan tüm VM'ler için ç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"

Dekont

Değerler resourceType büyük/küçük harfe duyarlıdır. Yanlış büyük/küçük harf belirtilmesi, ortamda eşleşen kaynak bulunmamasıyla sonuçlanır. Daha fazla bilgi için YAML şemasına bakın.

Yalnızca tarafından belirterek resourceNamedağıtımı almak için ortamdan belirli bir sanal makineyi seçebilirsiniz. Örneğin, yalnızca ortamda adlı USHAN-PCVMenv Sanal Makine kaynağına dağıtmayı hedeflemek için parametresini resourceName ekleyin ve değerini USHAN-PCverin.

trigger: 
- main

pool: 
   vmImage: ubuntu-latest

jobs:
- deployment: VMDeploy
  displayName: Deploy to VM
  environment: 
    name: VMenv
    resourceType: virtualMachine
    resourceName: USHAN-PC # only deploy to the VM resource named USHAN-PC
  strategy:
    runOnce:
      deploy:   
          steps:
          - script: echo "Hello world"

Dağıtım işleri hakkında daha fazla bilgi edinmek için bkz . YAML şeması.

Etiket ekleme ve yönetme

Etiketler, dağıtım için bir ortamdaki belirli VM'leri hedeflemek için size bir yol sağlar. Etkileşimli kayıt betiğinin bir parçası olarak veya kullanıcı arabirimi aracılığıyla VM'ye etiketler ekleyebilirsiniz. Etiketler 256 karakterle sınırlıdır. Kullanabileceğiniz etiket sayısıyla ilgili bir sınır yoktur.

Vm kaynağı için diğer eylemler'i seçerek kullanıcı arabirimindeki etiketleri kaynak görünümünden ekleyin veya kaldırın.

Set VM tags.

Birden çok etiket seçtiğinizde, tüm etiketleri içeren VM'ler işlem hattınızda kullanılır. Örneğin, bu işlem hattı hem ve prod etiketlerine sahip VM'leri windows hedefler. Bir VM bu etiketlerden yalnızca birine sahipse 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 virtual machines 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 stratejisi uygulayın. VM'ler runOnce için strateji ve rolling strateji desteklenir. Dağıtım stratejileri ve yaşam döngüsü kancaları hakkında daha fazla bilgi için bkz . Dağıtım işleri/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.

VMDeployments_view

Vm'yi bir ortamdan kaldırma

Windows ortamı

Windows ortamından VM'leri kaldırmak için aşağıdaki komutu çalıştırın. Aşağıdaki görevleri gerçekleştirdiğinizden emin olun:

  • Yönetici PowerShell komut isteminden komutunu çalıştırma
  • Her makinede komutunu çalıştırın
  • Komutunu, ortam kayıt komutunun çalıştırıldığı klasör yolunda çalıştırın
./config.cmd remove

Linux ortamı

Linux ortamından vm kaldırmak için her makinede aşağıdaki komutu çalıştırın.

./config.sh remove

Bilinen sınırlamalar

Bir aşamayı yeniden denediğinizde, yalnızca başarısız olan hedeflerde değil tüm VM'lerde dağıtımı yeniden çalıştırır.