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 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.
Not
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
Not
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
- İlk ortamınız olup olmadığına bağlı olarak Ortam oluştur'u veya Yeni ortam'ı seçin.
- Ortam için bir Ad (gerekli) ve bir Açıklama ekleyin.
- Yeni ortamı kaydedin.
Kaynak ekleme
Ortamınızı seçin ve Kaynak ekle'yi seçin.
Kaynak türünüz için Sanal makineler'i seçin. Sonra İleri'yi seçin.
İşletim Sistemi için Windows veya Linux'u seçin.
Kayıt betiğini kopyalayın. Windows'ı seçtiyseniz betiğiniz bir PowerShell betiği , Linux'ı seçtiyseniz bir Linux betiği olacaktır.
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.
Not
- 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.
VM'niz kaydedildikten sonra, ortamın Kaynaklar sekmesinin altında bir ortam kaynağı olarak görünür.
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.
VM betiği başarıyla yüklendiğinde, VM'niz ortam kaynakları listesinde görünür.
İş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 resourceName
bir 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"
Not
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 resourceName
dağıtımı almak için ortamdan belirli bir sanal makineyi seçebilirsiniz. Örneğin, yalnızca ortamda adlı USHAN-PC
VMenv
Sanal Makine kaynağına dağıtmayı hedeflemek için parametresini resourceName
ekleyin ve değerini USHAN-PC
verin.
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.
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.
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.
İlgili makaleler
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin