Sumber artefak dalam alur rilis Klasik
Layanan Azure DevOps | Azure DevOps Server 2022 - Azure DevOps Server 2019
Dengan alur rilis Klasik, Anda dapat menyebarkan artefak dari berbagai sumber. Dengan menggunakan antarmuka grafis, Anda dapat menyiapkan alur untuk mengintegrasikan dan mengonsumsi artefak dari berbagai layanan. Selain itu, Anda dapat menautkan beberapa artefak dari sumber yang berbeda dan menunjuknya sebagai sumber utama berdasarkan kebutuhan Anda.
Sumber artefak
Azure Pipelines mendukung berbagai repositori, layanan, dan platform CI/CD. Saat membuat rilis, Anda dapat menentukan versi sumber artefak Anda. Secara default, rilis menggunakan versi terbaru artefak sumber. Anda juga dapat memilih untuk menggunakan build terbaru dari cabang tertentu dengan menentukan tag, versi tertentu, atau memungkinkan pengguna menentukan versi pada saat pembuatan rilis.
Jika Anda menautkan beberapa artefak, Anda dapat menentukan mana yang merupakan sumber utama (default). Sumber artefak utama digunakan untuk mengatur beberapa variabel yang telah ditentukan sebelumnya dan juga dapat digunakan untuk penamaan rilis.
Opsi dropdown Versi default bergantung pada jenis sumber definisi build yang ditautkan. Opsi Specify at the time of release creation
, Specific version
, dan Latest
didukung oleh semua jenis repositori. Namun, Latest from the build pipeline default branch with tags
tidak didukung oleh definisi build XAML .
Bagian berikut menjelaskan cara bekerja dengan berbagai jenis sumber artefak:
Catatan
Saat menggunakan beberapa sumber artefak, pemetaan sumber artefak untuk memicu tahap tertentu tidak didukung. Jika Anda memerlukan fungsionalitas ini, Azure Pipelines merekomendasikan pemisahan alur rilis Anda menjadi beberapa rilis.
Azure Pipelines
Anda dapat menautkan alur rilis Klasik ke artefak alur apa pun. Selain itu, Anda dapat menautkan beberapa artefak dan menyiapkan pemicu penyebaran pada beberapa sumber build. Penyiapan ini akan membuat rilis setiap kali build baru tersedia. Fitur berikut tersedia saat menggunakan Azure Pipelines sebagai sumber artefak:
Fitur | Deskripsi |
---|---|
Rilis pemicu otomatis | Rilis baru dapat dibuat secara otomatis ketika artefak baru tersedia (termasuk build XAML). Lihat Pemicu rilis klasik untuk detail selengkapnya. |
Variabel artefak | Sejumlah variabel artefak didukung untuk artefak yang dirujuk dalam rilis Klasik. |
Item dan penerapan kerja | Tautkan item kerja untuk melihatnya ditampilkan dalam detail rilis. Penerapan akan ditampilkan saat menggunakan Git atau TFVC. |
Unduhan artefak | Secara default, artefak alur diunduh ke agen yang menjalankan alur. Anda juga dapat mengonfigurasi langkah dalam tahap anda untuk melewati pengunduhan artefak jika diperlukan. |
Tahap penyebaran | Ringkasan alur mencantumkan semua tahap penyebaran tempat artefak telah disebarkan. |
Catatan
Untuk menerbitkan artefak alur Anda di alur Klasik, Anda harus menambahkan tugas PublishPipelineArtifact ke alur Anda. Dalam alur YAML, artefak drop diterbitkan secara implisit.
Membatasi cakupan otorisasi pekerjaan
Secara default, rilis berjalan dengan cakupan otorisasi pekerjaan tingkat organisasi, memungkinkan mereka mengakses sumber daya di semua proyek dalam organisasi. Ini berguna saat menautkan artefak alur dari proyek lain. Untuk membatasi akses ke artefak proyek, Anda dapat mengaktifkan Batasi cakupan otorisasi pekerjaan ke proyek saat ini untuk alur rilis di pengaturan proyek
Untuk mengatur cakupan otorisasi pekerjaan untuk organisasi:
Masuk ke Organisasi Azure DevOps Anda.
Pilih Pengaturan organisasi di kiri bawah.
Pilih Alur> *Pengaturan.
Aktifkan cakupan otorisasi pekerjaan Batasi tombol ke proyek saat ini untuk alur rilis untuk membatasi cakupan ke proyek saat ini. Ini disarankan untuk meningkatkan keamanan.
Untuk mengatur cakupan otorisasi pekerjaan untuk proyek tertentu:
Masuk ke organisasi Azure DevOps Anda, lalu navigasikan ke proyek Anda.
Pilih Pengaturan proyek di kiri bawah.
Pilih Alur> *Pengaturan.
Aktifkan cakupan otorisasi pekerjaan Batasi tombol ke proyek saat ini untuk alur rilis untuk membatasi cakupan ke proyek saat ini. Pengaturan ini direkomendasikan untuk meningkatkan keamanan alur Anda.
Catatan
Jika cakupan diatur di tingkat organisasi, cakupan tidak dapat diubah satu per satu di setiap proyek.
Catatan
Secara default, rilis berjalan dengan cakupan otorisasi pekerjaan tingkat koleksi, memungkinkan mereka mengakses sumber daya di semua proyek dalam koleksi.
Azure Repos, GitHub, dan TFVC
Ada skenario di mana Anda mungkin ingin mengonsumsi artefak langsung dari kontrol sumber yang berbeda tanpa meneruskannya melalui alur build. Contohnya:
Mengembangkan aplikasi PHP atau JavaScript yang tidak memerlukan alur build eksplisit.
Mengelola konfigurasi untuk berbagai tahap di repositori kontrol versi yang berbeda, dan menggunakan file konfigurasi ini secara langsung sebagai bagian dari alur penyebaran.
Mengelola infrastruktur dan konfigurasi sebagai kode dalam repositori kontrol versi.
Dengan Azure Pipelines, Anda dapat mengonfigurasi beberapa sumber artefak dalam satu alur rilis. Ini memungkinkan Anda untuk menautkan alur build yang menghasilkan biner aplikasi dan repositori kontrol versi yang menyimpan file konfigurasi, menggunakan kedua set artefak bersama-sama selama penyebaran.
Azure Pipelines mendukung repositori Azure Repos, Team Foundation Version Control (TFVC), dan GitHub. Anda dapat menautkan alur rilis ke repositori Git atau TFVC apa pun dalam koleksi proyek Anda, asalkan Anda memiliki akses baca. Tidak diperlukan penyiapan tambahan saat menyebarkan artefak kontrol versi dalam koleksi yang sama.
Saat menautkan repositori GitHub dan memilih cabang, Anda dapat mengedit properti default jenis artefak setelah menyimpan artefak. Ini berguna jika cabang versi stabil berubah, memastikan rilis pengiriman berkelanjutan menggunakan cabang yang benar untuk versi artefak yang lebih baru. Anda juga dapat menentukan detail checkout, seperti submodul, penyertaan file terlacak Git-LFS, dan kedalaman pengambilan dangkal.
Saat menautkan cabang TFVC, Anda dapat menentukan set perubahan yang akan disebarkan selama pembuatan rilis.
Fitur berikut tersedia saat menggunakan Azure Repos, Git, dan TFVC sebagai sumber artefak:
Fitur | Deskripsi |
---|---|
Rilis pemicu otomatis | Rilis baru dapat dibuat secara otomatis ketika artefak baru tersedia (termasuk build XAML). Lihat Pemicu rilis untuk detail selengkapnya. |
Variabel artefak | Sejumlah variabel artefak didukung untuk artefak yang dirujuk dalam rilis Klasik. |
Item dan penerapan kerja | Tautkan item kerja untuk melihatnya ditampilkan dalam detail rilis. Penerapan akan ditampilkan saat menggunakan Git atau TFVC. |
Unduhan artefak | Secara default, artefak alur diunduh ke agen yang menjalankan alur. Anda juga dapat mengonfigurasi langkah dalam tahap anda untuk melewati pengunduhan artefak jika diperlukan. |
Catatan
Secara default, rilis berjalan dengan cakupan otorisasi pekerjaan tingkat organisasi, memungkinkan mereka mengakses sumber daya di semua proyek dalam organisasi. Ini berguna saat menautkan artefak alur dari proyek lain. Untuk membatasi akses ke artefak proyek, aktifkan Batasi cakupan otorisasi pekerjaan ke proyek saat ini untuk alur rilis di pengaturan proyek.
Catatan
Secara default, rilis berjalan dengan cakupan otorisasi pekerjaan tingkat koleksi, memungkinkan mereka mengakses sumber daya di semua proyek dalam koleksi. Ini berguna saat menautkan artefak alur dari proyek lain. Untuk membatasi akses ke artefak proyek, aktifkan Batasi cakupan otorisasi pekerjaan ke proyek saat ini untuk alur rilis di pengaturan proyek.
Azure Artifacts
Di bawah ini adalah beberapa skenario di mana Anda dapat menggunakan Artefak Azure sebagai sumber artefak:
Biner aplikasi Anda diterbitkan ke Azure Artifacts, dan Anda ingin menggunakan paket dalam alur rilis.
Anda memerlukan paket tambahan yang disimpan di Azure Artifacts sebagai bagian dari alur kerja penyebaran Anda.
Saat menggunakan Artefak Azure di alur rilis, Anda harus memilih Umpan, Paket, dan versi Default untuk paket Anda. Anda dapat memilih untuk mengambil versi terbaru paket, menggunakan versi tertentu, atau menentukan pada saat pembuatan rilis. Selama penyebaran, paket diunduh ke agen yang menjalankan alur Anda.
Fitur berikut tersedia saat menggunakan Azure Artifacts sebagai sumber artefak:
Fitur | Deskripsi |
---|---|
Rilis pemicu otomatis | Rilis baru dapat dibuat secara otomatis ketika artefak baru tersedia (termasuk build XAML). Lihat Pemicu rilis untuk detail selengkapnya. |
Variabel artefak | Sejumlah variabel artefak didukung untuk artefak yang dirujuk dalam rilis Klasik. |
Item dan penerapan kerja | Tautkan item kerja untuk melihatnya ditampilkan dalam detail rilis. Penerapan akan ditampilkan saat menggunakan Git atau TFVC. |
Unduhan artefak | Secara default, artefak alur diunduh ke agen yang menjalankan alur. Anda juga dapat mengonfigurasi langkah dalam tahap anda untuk melewati pengunduhan artefak jika diperlukan. |
Menangani rekam jepret Maven
Saat menggunakan rekam jepret Maven, beberapa versi dapat diunduh sekaligus (misalnya myApplication-2.1.0.BUILD-20190920.220048-3.jar
, , myApplication-2.1.0.BUILD-20190820.221046-2.jar
myApplication-2.1.0.BUILD-20190820.220331-1.jar
). Anda mungkin perlu menghapus versi lama dan hanya menyimpan artefak terbaru sebelum penyebaran.
Jalankan perintah berikut dalam perintah PowerShell untuk menghapus semua salinan kecuali perintah dengan nilai leksikografis tertinggi:
Get-Item "myApplication*.jar" | Sort-Object -Descending Name | Select-Object -SkipIndex 0 | Remove-Item
Catatan
Anda dapat menyimpan hingga 30 rekam jepret Maven di umpan Anda. Setelah batas ini tercapai, Azure Artifacts akan secara otomatis menghapus rekam jepret lama untuk menyimpan hanya 25 terbaru.
Azure Container Repository dan Docker Hub
Saat menyebarkan aplikasi kontainer, gambar kontainer pertama-tama didorong ke registri kontainer. Anda kemudian dapat menyebarkan gambar kontainer ke Azure Web App for Containers atau kluster Docker/Kubernetes. Untuk melakukan ini, Anda harus terlebih dahulu membuat koneksi layanan untuk mengautentikasi dengan Azure atau Docker Hub. Lihat Koneksi layanan Docker Registry untuk detail selengkapnya.
Fitur berikut tersedia saat menggunakan Azure Container Repository atau Docker Hub sebagai sumber artefak:
Fitur | Deskripsi |
---|---|
Rilis pemicu otomatis | Rilis baru dapat dibuat secara otomatis ketika artefak baru tersedia (termasuk build XAML). Lihat Pemicu rilis untuk detail selengkapnya. |
Variabel artefak | Sejumlah variabel artefak didukung untuk artefak yang dirujuk dalam rilis Klasik. |
Item dan penerapan kerja | Tautkan item kerja untuk melihatnya ditampilkan dalam detail rilis. Penerapan akan ditampilkan saat menggunakan Git atau TFVC. |
Unduhan artefak | Secara default, artefak alur diunduh ke agen yang menjalankan alur. Anda juga dapat mengonfigurasi langkah dalam tahap anda untuk melewati pengunduhan artefak jika diperlukan. |
Jenkins
Untuk menggunakan artefak Jenkins, Anda harus membuat koneksi layanan untuk mengautentikasi dengan server Jenkins Anda. Lihat Koneksi layanan Jenkins untuk detail selengkapnya. Selain itu, proyek Jenkins Anda harus dikonfigurasi dengan tindakan pasca-build untuk menerbitkan artefak Anda.
Artefak yang dihasilkan oleh build Jenkins biasanya disebarkan ke repositori penyimpanan untuk pengarsipan dan berbagi. Azure Blob Storage adalah salah satu repositori seperti itu, memungkinkan Anda menggunakan proyek Jenkins yang menerbitkan ke Azure Storage sebagai sumber artefak dalam alur rilis. Azure Pipelines akan secara otomatis mengunduh artefak ini dari Azure ke agen yang menjalankan alur. Dalam skenario ini, konektivitas antara agen dan server Jenkins tidak diperlukan, dan agen yang dihosting Microsoft dapat digunakan tanpa mengekspos server Jenkins ke internet.
Fitur berikut tersedia saat menggunakan Jenkins sebagai sumber artefak:
Fitur | Deskripsi |
---|---|
Rilis pemicu otomatis | Rilis baru dapat dibuat secara otomatis ketika artefak baru tersedia (termasuk build XAML). Lihat Pemicu rilis untuk detail selengkapnya. |
Variabel artefak | Sejumlah variabel artefak didukung untuk artefak yang dirujuk dalam rilis Klasik. |
Item dan penerapan kerja | Tautkan item kerja untuk melihatnya ditampilkan dalam detail rilis. Penerapan akan ditampilkan saat menggunakan Git atau TFVC. |
Unduhan artefak | Secara default, artefak alur diunduh ke agen yang menjalankan alur. Anda juga dapat mengonfigurasi langkah dalam tahap anda untuk melewati pengunduhan artefak jika diperlukan. |
Catatan
Azure Pipelines mungkin tidak dapat melakukan ping pada server Jenkins Anda jika berada dalam jaringan perusahaan privat. Dalam kasus seperti itu, Anda dapat mengintegrasikan Azure Pipelines dengan Jenkins dengan menyiapkan agen lokal yang memiliki akses ke server Jenkins. Meskipun Anda mungkin tidak melihat nama proyek Jenkins Saat menautkan ke alur, Anda dapat memasukkan nama proyek secara manual di bidang teks URL.
Alias sumber artefak
Untuk memastikan keunikan setiap unduhan artefak, setiap sumber artefak yang ditautkan ke alur rilis secara otomatis diberi lokasi unduhan tertentu yang dikenal sebagai alias sumber. Lokasi ini dapat diakses menggunakan variabel: $(System.DefaultWorkingDirectory)\[source alias]
.
Menggunakan alias sumber memastikan bahwa mengganti nama sumber artefak tertaut tidak memerlukan pengeditan properti tugas, karena lokasi unduhan yang ditentukan dalam agen tetap tidak berubah.
Secara default, alias sumber adalah nama sumber artefak yang diawali dengan garis bawah (misalnya, _mslearn-tailspin-spacegame-web). Alias sumber dapat sesuai dengan nama alur build, nama pekerjaan, nama proyek, atau nama repositori, tergantung pada jenis sumber artefak. Anda dapat mengedit alias sumber dari tab artefak di pipeline rilis Anda.m tab artefak dari alur rilis Anda.
Unduhan artefak
Ketika penyebaran ke tahap selesai, artefak versi dari setiap sumber diunduh ke agen alur sehingga tugas dalam tahap tersebut dapat mengaksesnya. Artefak yang diunduh ini tidak dihapus saat rilis selesai. Namun, ketika rilis baru dimulai, artefak sebelumnya dihapus dan diganti dengan yang baru.
Folder unik dibuat pada agen untuk setiap alur rilis saat rilis dimulai, dan artefak diunduh ke folder ini:$(System.DefaultWorkingDirectory)
.
Azure Pipelines tidak melakukan pengoptimalan apa pun untuk menghindari pengunduhan ulang artefak yang tidak berubah jika rilis yang sama disebarkan lagi. Selain itu, karena konten yang diunduh sebelumnya dihapus ketika rilis baru dimulai, Azure Pipelines tidak dapat melakukan unduhan bertahas ke agen.
Untuk melewati unduhan artefak otomatis, navigasikan ke pekerjaan>Agen Tugas alur>Rilis>Unduhan artefak dan hapus centang semua artefak atau tentukan artefak tertentu yang akan dilewati.
Untuk melewati unduhan artefak otomatis, navigasikan ke tugas>Agen Tugas alur>Rilis>Anda Opsi tambahan, dan centang kotak Lewati unduhan artefak.