Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Sıralı dağıtım, bir uygulamanın önceki sürümünün örneklerini, her yinelemedeki sabit bir sanal makine kümesindeki (sıralı küme) uygulamanın yeni sürümünün örnekleriyle değiştirir.
rolling:
maxParallel: string # Maximum number of jobs running in parallel.
preDeploy: # Pre deploy hook for rolling deployment strategy.
steps: [ task | script | powershell | pwsh | bash | checkout | download | downloadBuild | getPackage | publish | template | reviewApp ] # A list of steps to run.
pool: string | pool # Pool where pre deploy steps will run.
deploy: # Deploy hook for rolling deployment strategy.
steps: [ task | script | powershell | pwsh | bash | checkout | download | downloadBuild | getPackage | publish | template | reviewApp ] # A list of steps to run.
pool: string | pool # Pool where deploy steps will run.
routeTraffic: # Route traffic hook for rolling deployment strategy.
steps: [ task | script | powershell | pwsh | bash | checkout | download | downloadBuild | getPackage | publish | template | reviewApp ] # A list of steps to run.
pool: string | pool # Pool where route traffic steps will run.
postRouteTraffic: # Post route traffic hook for rolling deployment strategy.
steps: [ task | script | powershell | pwsh | bash | checkout | download | downloadBuild | getPackage | publish | template | reviewApp ] # A list of steps to run.
pool: string | pool # Pool where post route traffic steps will run.
on: # On success or failure hook for rolling deployment strategy.
failure: # Runs on failure of any step.
steps: [ task | script | powershell | pwsh | bash | checkout | download | downloadBuild | getPackage | publish | template | reviewApp ] # A list of steps to run.
pool: string | pool # Pool where post on failure steps will run.
success: # Runs on success of all of the steps.
steps: [ task | script | powershell | pwsh | bash | checkout | download | downloadBuild | getPackage | publish | template | reviewApp ] # A list of steps to run.
pool: string | pool # Pool where on success steps will run.
Bu tanıma başvuran tanımlar: jobs.deployment.strategy
Özellikler
maxParallel dize.
Paralel çalışan iş sayısı üst sınırı.
preDeployHookpreDeploy.
sıralı dağıtım stratejisi için önceden dağıtım kancası .
deploy
deployHook.
Dağıtım stratejisi için kanca dağıtma.
routeTrafficHookrouteTraffic.
Sıralı dağıtım stratejisi için trafik kancasını yönlendirme.
postRouteTrafficHookpostRouteTraffic.
Sıralı dağıtım stratejisi için Rota sonrası trafik kancasını .
on
onSuccessOrFailureHook.
Sıralı dağıtım stratejisi için Başarı veya başarısızlık kancası.
Açıklamalar
Azure Pipelines şu anda yalnızca VM kaynaklarına yönelik sıralı stratejiyi desteklemektedir.
Örneğin, sıralı dağıtım genellikle sonraki dağıtım kümesine geçmeden önce her sanal makine kümesindeki dağıtımların tamamlanmasını bekler. Her yinelemeden sonra bir sistem durumu denetimi yapabilirsiniz ve önemli bir sorun oluşursa sıralı dağıtım durdurulabilir.
Sıralı dağıtımlar, rolling: düğümü altında anahtar sözcük strategy: belirtilerek yapılandırılabilir.
strategy.name değişkeni, stratejinin adını alan bu strateji bloğunda kullanılabilir. Bu durumda, yuvarlanıyor.
Tüm yaşam döngüsü kancaları desteklenir ve her VM'de çalıştırılacak yaşam döngüsü kanca işleri oluşturulur.
preDeploy, deploy, routeTrafficve postRouteTraffic, maxParalleltarafından tanımlanan toplu iş boyutu başına bir kez yürütülür.
Ardından on: success veya on: failure yürütülür.
maxParallel: <# or % of VMs>ile, paralel olarak dağıtılacak sanal makine hedeflerinin sayısını/yüzdesini denetleyebilirsiniz. Bu, uygulamanın bu makinelerde çalışmasını ve dağıtım diğer makinelerde gerçekleşirken istekleri işleyebilmesini sağlar ve bu da genel kapalı kalma süresini azaltır.
Uyarı
Bu özellikte bilinen birkaç boşluk vardır. Örneğin, bir aşamayı yeniden denediğinizde, dağıtımı yalnızca başarısız hedeflerde değil tüm VM'lerde yeniden çalıştırır.
Yaşam döngüsü kancalarının açıklamaları
preDeploy: Uygulama dağıtımı başlamadan önce kaynakları başlatan adımları çalıştırmak için kullanılır.
deploy: Uygulamanızı dağıtan adımları çalıştırmak için kullanılır. Yapıt indirme görevi yalnızca dağıtım işleri için deploy kancasına otomatik olarak eklenecektir. Yapıtları indirmeyi durdurmak için - download: none kullanın veya İşlem Hattı Yapıtlarını İndir görevinibelirterek indirilmesi gereken belirli yapıtları seçin.
routeTraffic: Güncelleştirilmiş sürüme gelen trafiğe hizmet eden adımları çalıştırmak için kullanılır.
postRouteTraffic: Trafik yönlendirildikten sonra adımları çalıştırmak için kullanılır. Bu görevler genellikle tanımlı aralık için güncelleştirilmiş sürümün durumunu izler.
on: failure veya on: success: Geri alma eylemleri veya temizleme adımlarını çalıştırmak için kullanılır.
Örnekler
VM'ler için aşağıdaki sıralı strateji örneği, her yinelemede en fazla beş hedefi güncelleştirir.
maxParallel, paralel olarak dağıtılacak hedef sayısını belirler. Seçim, dağıtılmakta olan hedefler hariç olmak üzere herhangi bir zamanda kullanılabilir durumda kalması gereken hedeflerin mutlak sayısını veya yüzdesini hesaplar. Ayrıca dağıtım sırasında başarı ve başarısızlık koşullarını belirlemek için de kullanılır.
jobs:
- deployment: VMDeploy
displayName: web
environment:
name: smarthotel-dev
resourceType: VirtualMachine
strategy:
rolling:
maxParallel: 5 #for percentages, mention as x%
preDeploy:
steps:
- download: current
artifact: drop
- script: echo initialize, cleanup, backup, install certs
deploy:
steps:
- task: IISWebAppDeploymentOnMachineGroup@0
displayName: 'Deploy application to Website'
inputs:
WebSiteName: 'Default Web Site'
Package: '$(Pipeline.Workspace)/drop/**/*.zip'
routeTraffic:
steps:
- script: echo routing traffic
postRouteTraffic:
steps:
- script: echo health check post-route traffic
on:
failure:
steps:
- script: echo Restore from backup! This is on failure
success:
steps:
- script: echo Notify! This is on success