Apa perbedaan antara Pipeline dan Release Pipeline pada devais biru?


14

File yaml dihasilkan saat Anda memilih opsi ini di bawah ini:

masukkan deskripsi gambar di sini

Di file yaml ini, Anda dapat menentukan seluruh siklus penerapan mulai dari restore -> build -> run tests -> publish and -> deploy to azure app service web app.

lalu, mengapa ada opsi rilis? Jika saya dapat menentukan seluruh siklus hidup melalui Pipelines -> Pipelinesopsi, apa tujuan dari Pipelines -> Releasesopsi tersebut?

masukkan deskripsi gambar di sini


Apakah jawaban di bawah ini dapat membantu Anda mencapai yang Anda inginkan? Jika ya, Anda dapat menerima jawabannya sehingga pengguna SO lainnya akan dapat melihat apakah solusinya bekerja. Jika Anda masih menghadapi beberapa masalah, jangan ragu untuk meninggalkan komentar di sini :-)
Frank Wang-MSFT

Jawaban:


16

Pipelines adalah nama dalam antarmuka pengguna DevOps terbaru untuk Builds. Di UI lama seperti ini: masukkan deskripsi gambar di sini

Dapat dikatakan bahwa Pipeline(atau Build, atau Build Pipeline) mewakili CI (integrasi berkelanjutan) di Azure DevOps. Releasemewakili CD (pengiriman berkelanjutan) di Azure DevOps. Pipeline biasanya mengambil kode, membangunnya, menguji dan membuat artefak. Rilis mengambil artefak dan melepaskan / menyebarkannya.

Penggunaannya tergantung pada proyek Anda.

Jika Anda memiliki proyek kecil dan tidak perlu di fitur Rilis (misalnya, kondisi dan persetujuan pra-penempatan), maka Anda dapat memiliki Pipeline seperti yang Anda sebutkan: restore -> build -> tests -> deploydan tidak perlu di Rilis.

Jika proyek Anda besar dengan banyak kontribusi pengembang, ada baiknya memiliki Pipeline yang membangun, menjalankan tes unit, melakukan otomatisasi lain dan hasil dengan artefak setiap kali pengembang mendorong ke repo umum. Jadi Anda bisa yakin semua sudah puas dan tes integrasi telah lulus. Pipeline juga dapat berakhir dengan tugas pelepasan / penyebaran ke lingkungan pengembangan / server untuk pekerjaan internal, penggunaan, pengujian.

Dalam proyek besar Anda tidak perlu mengerahkan setiap push ke repo umum. Jadi, Anda dapat menyelesaikan Rilis yang akan bertanggung jawab untuk penerapan ke lingkungan produksi. Ini memiliki fitur yang dirancang untuk ini, seperti pra-persetujuan, sehingga semua orang setuju itu adalah pembuatan yang tepat (atau artefak) untuk produksi.


Itu tidak sepenuhnya akurat, karena pipeline (bila ditentukan sebagai file YAML) juga mendukung skenario rilis.
Daniel Mann

2
@DanielMann dia tidak mengatakan yang sebaliknya, dia menjawab pengembaraan op, dengan menjelaskan perbedaan antara keduanya
AymenDaoudi

2

Seperti dicatat dalam dokumen Microsoft, bagian "Rilis" adalah solusi "Editor klasik" mereka: Tautan

Bagian "Jaringan Pipa" menawarkan untuk membuat jaringan pipa dengan dua cara:

  1. Kode YAML
  2. Editor UI klasik

Apa yang pada dasarnya klasik bagi mereka adalah cara asli pipa saluran Azure DevOps dibuat. Anda membangun saluran pipa dengan menggunakan editor GUI secara interaktif. Pipa dibuat dari YAML , dengan bantuan asisten adalah cara yang lebih baru .

Apa yang "Pipa" bagian terutama memiliki yang "Pers" tidak adalah bahwa dengan menulis kode YAML memungkinkan Anda untuk mengkonfigurasi strategi CI / CD Anda sebagai kode, di mana, Pipeline definisi kehidupan bersama dan bersama-sama dengan kode Anda.

Sumber belajar terbaru mereka juga mengindikasikan untuk menggunakan YAML dan membuat tahap pengembangan dan penerapan dalam aplikasi penyebaran pipa yang sama dengan Azure DevOps

Saya merekomendasi:

  • Jika Anda lebih suka menggunakan editor Classic UI, gunakan bagian "Pipeline" untuk build dan "Release" untuk penyebaran;
  • Jika Anda lebih suka menggunakan YAML, cukup gunakan bagian "Pipeline" untuk build dan penyebaran dan buat pipa multistage.

Pipeline dengan beberapa tahapan


Benar-benar menyesatkan bagaimana mereka menamai sesuatu.
AymenDaoudi
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.