definisi jobs.deployment.strategy.runOnce
Strategi penyebaran runOnce meluncurkan perubahan dengan menjalankan masing-masing langkahnya satu kali.
runOnce:
preDeploy: # Pre deploy hook for runOnce 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 runOnce 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 runOnce 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 runOnce 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 runOnce 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.
Definisi yang mereferensikan definisi ini: jobs.deployment.strategy
Properti
preDeploy
preDeployHook.
Sebarkan hook sebelumnya untuk strategi penyebaran runOnce.
deploy
deployHook.
Sebarkan hook untuk strategi penyebaran runOnce.
routeTraffic
routeTrafficHook.
Merutekan kait lalu lintas untuk strategi penyebaran runOnce.
postRouteTraffic
postRouteTrafficHook.
Memposting kait lalu lintas rute untuk strategi penyebaran runOnce.
on
onSuccessOrFailureHook.
Pada hook keberhasilan atau kegagalan untuk strategi penyebaran runOnce.
Keterangan
runOnce
adalah strategi penyebaran paling sederhana di mana semua kait siklus hidup, yaitu preDeploy
deploy
, , routeTraffic
dan postRouteTraffic
, dijalankan sekali. Lalu, baik on:
success
maupun on:
failure
atau dijalankan.
Deskripsi kait siklus hidup
preDeploy
: Digunakan untuk menjalankan langkah-langkah yang menginisialisasi sumber daya sebelum penyebaran aplikasi dimulai.
deploy
: Digunakan untuk menjalankan langkah-langkah yang menyebarkan aplikasi Anda. Tugas unduh artefak akan disuntikkan secara otomatis hanya di deploy
hook untuk pekerjaan penyebaran. Untuk berhenti mengunduh artefak, gunakan - download: none
atau pilih artefak tertentu untuk diunduh dengan menentukan tugas Unduh Artefak Alur.
routeTraffic
: Digunakan untuk menjalankan langkah-langkah yang melayani lalu lintas ke versi yang diperbarui.
postRouteTraffic
: Digunakan untuk menjalankan langkah-langkah setelah lalu lintas dirutekan. Biasanya, tugas-tugas ini memantau kesehatan versi yang diperbarui untuk interval yang ditentukan.
on: failure
atau on: success
: Digunakan untuk menjalankan langkah-langkah untuk tindakan putar kembali atau pembersihan.
Contoh
Contoh cuplikan YAML berikut menampilkan penggunaan sederhana dari pekerjaan penyebaran dengan menggunakan runOnce
strategi penyebaran. Contohnya mencakup langkah checkout.
jobs:
# Track deployments on the environment.
- deployment: DeployWeb
displayName: deploy Web App
pool:
vmImage: ubuntu-latest
# Creates an environment if it doesn't exist.
environment: 'smarthotel-dev'
strategy:
runOnce:
deploy:
steps:
- checkout: self
- script: echo my first deployment
Dengan setiap menjalankan pekerjaan ini, riwayat penyebaran dicatat terhadap smarthotel-dev
lingkungan.
Catatan
- Anda juga dapat membuat lingkungan dengan sumber daya kosong dan menggunakannya sebagai shell abstrak untuk merekam riwayat penyebaran, seperti yang ditunjukkan pada contoh sebelumnya.
Contoh berikutnya menunjukkan bagaimana alur dapat merujuk lingkungan dan sumber daya yang akan digunakan sebagai target untuk pekerjaan penyebaran.
jobs:
- deployment: DeployWeb
displayName: deploy Web App
pool:
vmImage: ubuntu-latest
# Records deployment against bookings resource - Kubernetes namespace.
environment: 'smarthotel-dev.bookings'
strategy:
runOnce:
deploy:
steps:
# No need to explicitly pass the connection details.
- task: KubernetesManifest@0
displayName: Deploy to Kubernetes cluster
inputs:
action: deploy
namespace: $(k8sNamespace)
manifests: |
$(System.ArtifactsDirectory)/manifests/*
imagePullSecrets: |
$(imagePullSecret)
containers: |
$(containerRegistry)/$(imageRepository):$(tag)
Pendekatan ini memiliki manfaat berikut:
- Merekam riwayat penyebaran pada sumber daya tertentu dalam lingkungan, dibandingkan dengan merekam riwayat pada semua sumber daya dalam lingkungan.
- Langkah-langkah dalam pekerjaan penyebaran secara otomatis mewarisi detail koneksi sumber daya (dalam hal ini, namespace Layanan Kube,
smarthotel-dev.bookings
), karena pekerjaan penyebaran ditautkan ke lingkungan. Ini berguna dalam kasus di mana detail koneksi yang sama diatur untuk beberapa langkah pekerjaan.
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk