Apa persamaan YAML dengan pipa rilis?

Aug 17 2020

Saya telah melihat Azure DevOps dan saya bingung dengan sesuatu: Microsoft tampaknya sangat merekomendasikan penggunaan pipeline YAML daripada yang klasik; cukup adil, tetapi mereka perlu mengganti semua fungsionalitas yang ada di pipeline klasik. Bagaimana saya dimaksudkan untuk mengganti fungsi "pipa rilis" dengan pipa YAML?

Jadi misalnya, dengan pipeline rilis klasik, saya dapat menyiapkan pipeline untuk diterapkan ke produksi yang memiliki pemicu manual (lihat 'Secara manual oleh pengguna'):

https://docs.microsoft.com/en-us/azure/devops/pipelines/release/triggers?view=azure-devops#pull-request-triggers

Apa yang setara dengan pipeline YAML dengan ini? Saya jelas tidak ingin pemicu yang secara otomatis diterapkan ke produksi - saya selalu ingin penerapan itu dimulai secara manual - tetapi artikel bantuan tampaknya tidak menyediakan alternatif YAML apa pun.

Jawaban

1 LanceLi-MSFT Aug 18 2020 at 03:42

Seperti komentar Daniel di atas, pipeline Yaml mendukung pipeline yaml multi-tahap untuk CD. Anda dapat memeriksa Azure DevOps Pipelines - Multi-Stage Pipelines dan YAML untuk Continuous Delivery untuk detail selengkapnya.

Azure devops yaml multi-stage pipeline dan classic release pipeline dapat digunakan untuk CD, namun keduanya memiliki beberapa perbedaan . Dan seperti yang saya ketahui, tidak ada fitur di pipeline YAML yang setara dengan manual triggerdi Rilis Klasik.

Untuk saat ini pemicu manual tidak didukung di pipeline YAML, lihat diskusi ini . Kabar baiknya adalah tim Produk telah mempertimbangkan permintaan fitur dan fitur baru tersebut ada di Peta Jalan . (Mungkin dalam rencana untuk 2020 Q3)

Menurut tim di sana: Cakupan fitur baru yang mereka pikirkan di sini adalah untuk dapat menandai panggung sebagai "selalu mulai secara manual". Jika ada tahapan lain yang bergantung pada tahapan ini, maka tahapan tersebut akan terus menunggu sampai tahapan ini selesai.

Kami mungkin harus menunggu beberapa saat sebelum manual triggerfitur tersebut menjadi kenyataan di pipeline Yaml. Semoga fitur baru ini memenuhi kebutuhan Anda.

AlexanderVolok Aug 18 2020 at 10:10

Microsoft mengatakan bahwa tim mereka secara internal menggunakan Rilis Arus strategi bercabang: Rilis Arus: Bagaimana Kami Apakah Percabangan pada Tim VSTS

Arus Rilis berarti bahwa cabang rilis harus dibuat agar rilis dipicu, yang bisa terlihat seperti ini:

rilis / nama produk-sprint02

Oleh karena itu, pembuatan cabang semacam itu dapat bertindak sebagai pemicu manual

Dalam pipeline YAML multi-tahap, tahap penerapan produksi harus dikodekan agar dipicu saat eksekusi pipeline adalah konteks cabang rilis, yang tidak sulit dilakukan menggunakan condition:dan ekspresi yang berisi pemeriksaan:

${{ startsWith(variables['Build.SourceBranch'], 'refs/heads/releases')

ps Blog saya baru-baru ini tentang topik yang sama: Azure DevOps - pipa YAML dan strategi percabangan