Merilis alur dan sumber Artefak

Layanan Azure DevOps | Azure DevOps Server 2022 - Azure DevOps Server 2019

Dengan Azure Pipelines, Anda dapat menyebarkan artefak dari berbagai sumber artefak dan mengintegrasikan alur kerja Anda dengan berbagai jenis repositori artefak. Rilis dapat ditautkan ke beberapa sumber artefak, di mana rilis ditetapkan sebagai sumber utama.

Sumber artefak

Azure Pipelines mendukung berbagai repositori, alat kontrol sumber, dan sistem integrasi berkelanjutan.

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.

Cuplikan layar memperlihatkan cara menambahkan artefak ke alur rilis klasik.

Jika Anda menautkan lebih dari satu artefak, Anda dapat menentukan mana yang merupakan sumber utama (default). Sumber artefak utama digunakan untuk mengatur sejumlah variabel yang telah ditentukan sebelumnya. Ini juga dapat digunakan dalam rilis penamaan.

Cuplikan layar memperlihatkan cara mengatur artefak sumber utama.

Catatan

Item Default version dropdown bergantung pada jenis sumber definisi build yang ditautkan.

  • Opsi berikut didukung oleh semua jenis repositori: Specify at the time of release creation, , Specific versiondan Latest.

  • Latest from a specific branch with tags dan Latest from the build pipeline default branch with tags opsi didukung oleh jenis repositori berikut: TfsGit, , GitHub, Bitbucketdan GitHubEnterprise.

  • Latest from the build pipeline default branch with tags tidak didukung oleh XAML definisi build.

Bagian berikut menjelaskan cara bekerja dengan berbagai jenis sumber artefak.

Sumber artefak - Azure Pipelines

Anda dapat menautkan alur rilis ke build Azure Pipelines apa pun. Anda juga dapat menautkan beberapa alur build dan menentukan nilai defaultnya dan menyiapkan pemicu penyebaran pada beberapa sumber build. Ketika salah satu build selesai, build akan memicu pembuatan rilis.

Fitur berikut tersedia saat menggunakan Azure Pipelines sebagai sumber artefak:

Fitur Deskripsi
Rilis pemicu otomatis Rilis baru dapat dibuat secara otomatis ketika artefak build baru tersedia (termasuk build XAML). Lihat Pemicu rilis untuk detail selengkapnya.
Variabel artefak Sejumlah variabel artefak didukung untuk sumber Azure Pipelines.
Item dan penerapan kerja Anda dapat menautkan item kerja Azure Pipelines dan item tersebut akan ditampilkan dalam detail rilis. Penerapan ditampilkan saat Anda menggunakan kontrol sumber Git atau TFVC.
Unduhan artefak Secara default, artefak build diunduh ke agen yang menjalankan alur. Anda juga dapat mengonfigurasi langkah dalam tahap untuk melewati pengunduhan artefak Anda.
Tahap penyebaran Ringkasan build mencantumkan semua tahap penyebaran tempat artefak disebarkan.

Catatan

Anda harus menyertakan tugas Terbitkan Artefak dalam alur build Anda. Untuk alur build YAML, artefak dengan nama drop diterbitkan secara implisit.

Secara default, rilis berjalan dengan cakupan otorisasi pekerjaan tingkat koleksi. Ini berarti bahwa rilis dapat mengakses sumber daya di semua proyek di organisasi (atau koleksi untuk Azure DevOps Server). Ini berguna saat menautkan artefak build dari proyek lain. Anda dapat mengaktifkan Batasi cakupan otorisasi pekerjaan ke proyek saat ini untuk alur rilis dalam pengaturan proyek untuk membatasi akses ke artefak proyek.

Untuk mengatur cakupan otorisasi pekerjaan untuk organisasi:

  • Navigasi ke pengaturan Organisasi Anda.
  • Pilih Pengaturan di bawah Alur.
  • Aktifkan cakupan otorisasi pekerjaan Batasi tombol ke proyek saat ini untuk alur rilis untuk membatasi cakupan ke proyek saat ini. Ini adalah pengaturan yang direkomendasikan untuk langkah-langkah keamanan yang baik.

Untuk mengatur cakupan otorisasi pekerjaan untuk proyek tertentu:

  • Navigasi ke pengaturan Proyek Anda.
  • Pilih Pengaturan di bawah Alur.
  • Aktifkan cakupan otorisasi pekerjaan Batasi ke proyek saat ini untuk alur rilis untuk membatasi cakupan ke proyek saat ini. Ini adalah pengaturan yang direkomendasikan, karena meningkatkan keamanan untuk alur Anda.

Catatan

Jika cakupan diatur ke proyek di tingkat organisasi, Anda tidak dapat mengubah cakupan di setiap proyek.

Semua pekerjaan dalam rilis yang dijalankan dengan cakupan otorisasi pekerjaan diatur ke koleksi. Dengan kata lain, pekerjaan ini memiliki akses ke sumber daya di semua proyek dalam koleksi proyek Anda.

Sumber artefak - kontrol versi

Ada beberapa skenario di mana Anda mungkin ingin mengonsumsi artefak dari kontrol sumber yang berbeda secara langsung tanpa meneruskannya melalui alur build. Contohnya:

  • Mengembangkan PHP atau aplikasi JavaScript yang tidak memerlukan alur build eksplisit.

  • Anda mengelola konfigurasi untuk berbagai tahap di repositori kontrol versi yang berbeda, dan Anda ingin menggunakan file konfigurasi ini langsung dari kontrol versi sebagai bagian dari alur penyebaran.

  • Anda mengelola infrastruktur dan konfigurasi sebagai kode dan Anda ingin mengelola file-file ini di repositori kontrol versi.

Karena Anda dapat mengonfigurasi beberapa sumber artefak dalam satu alur rilis, Anda dapat menautkan alur build yang menghasilkan biner aplikasi Anda serta repositori kontrol versi yang menyimpan file konfigurasi ke dalam alur yang sama, dan menggunakan dua set artefak bersama-sama saat menyebarkan.

Azure Pipelines mendukung repositori Team Foundation Version Control (TFVC), repositori Git, dan repositori GitHub.

Anda dapat menautkan alur rilis ke salah satu repositori Git atau TFVC dalam proyek apa pun dalam koleksi Anda (Anda memerlukan akses baca ke repositori ini). Tidak diperlukan penyiapan tambahan saat menyebarkan artefak kontrol versi dalam koleksi yang sama.

Saat Anda menautkan repositori GitHub dan memilih cabang, Anda dapat mengedit properti default jenis artefak setelah artefak disimpan. Ini sangat berguna dalam skenario di mana cabang untuk versi stabil dari perubahan artefak, dan rilis pengiriman berkelanjutan harus menggunakan cabang ini untuk mendapatkan versi artefak yang lebih baru. Anda juga dapat menentukan detail checkout, seperti apakah submodul checkout dan file yang dilacak LFS, dan kedalaman pengambilan dangkal.

Saat menautkan cabang TFVC, Anda dapat menentukan set perubahan yang akan disebarkan saat membuat rilis.

Fitur berikut tersedia saat menggunakan TFVC, Git, dan GitHub sebagai sumber artefak:

Fitur Deskripsi
Rilis pemicu otomatis Rilis baru dapat dibuat secara otomatis ketika artefak build baru tersedia (termasuk build XAML). Lihat Pemicu rilis untuk detail selengkapnya.
Variabel artefak Sejumlah variabel artefak didukung untuk sumber Azure Pipelines.
Item dan penerapan kerja Anda dapat menautkan item kerja Azure Pipelines apakah item tersebut akan ditampilkan dalam detail rilis. Penerapan ditampilkan saat Anda menggunakan kontrol sumber Git atau TFVC.
Unduhan artefak Secara default, artefak build diunduh ke agen yang menjalankan alur. Anda juga dapat mengonfigurasi langkah dalam tahap untuk melewati pengunduhan artefak Anda.

Secara default, rilis berjalan dengan cakupan otorisasi pekerjaan tingkat koleksi. Ini berarti bahwa rilis dapat mengakses sumber daya di semua proyek di organisasi (atau koleksi untuk Azure DevOps Server). Ini berguna saat menautkan artefak build dari proyek lain. Anda dapat mengaktifkan Batasi cakupan otorisasi pekerjaan ke proyek saat ini untuk alur rilis dalam pengaturan proyek untuk membatasi akses ke artefak proyek.

Sumber artefak - Jenkins

Untuk menggunakan artefak Jenkins, Anda harus membuat koneksi layanan untuk mengautentikasi dengan server Jenkins Anda. Lihat mengelola koneksi layanan dan koneksi layanan Jenkins untuk informasi selengkapnya. Proyek Jenkins harus dikonfigurasi dengan tindakan post build untuk menerbitkan artefak Anda.

Fitur berikut tersedia saat menggunakan Jenkins sebagai sumber artefak:

Fitur Deskripsi
Rilis pemicu otomatis Rilis baru dapat dibuat secara otomatis ketika artefak build baru tersedia (termasuk build XAML). Lihat Pemicu rilis untuk detail selengkapnya.
Variabel artefak Sejumlah variabel artefak didukung untuk sumber Azure Pipelines.
Item dan penerapan kerja Anda dapat menautkan item kerja Azure Pipelines dan item tersebut akan ditampilkan dalam detail rilis. Penerapan ditampilkan saat Anda menggunakan kontrol sumber Git atau TFVC.
Unduhan artefak Secara default, artefak build diunduh ke agen yang menjalankan alur. Anda juga dapat mengonfigurasi langkah dalam tahap untuk melewati pengunduhan artefak Anda.

Artefak yang dihasilkan oleh build Jenkins biasanya disebarkan ke repositori penyimpanan untuk pengarsipan dan berbagi. Penyimpanan blob Azure adalah salah satu repositori yang didukung, memungkinkan Anda untuk menggunakan proyek Jenkins yang menerbitkan ke penyimpanan Azure sebagai sumber artefak dalam alur rilis. Azure Pipelines mengunduh artefak secara otomatis dari Azure ke agen yang menjalankan alur. Dalam skenario ini, konektivitas antara agen dan server Jenkins tidak diperlukan. Agen yang dihosting Microsoft dapat digunakan tanpa mengekspos server ke internet.

Catatan

Azure Pipelines mungkin tidak dapat menghubungi server Jenkins Anda jika, misalnya, berada dalam jaringan perusahaan Anda. Jika demikian, Anda dapat mengintegrasikan Azure Pipelines dengan Jenkins dengan menyiapkan agen lokal yang dapat mengakses server Jenkins. Anda tidak akan dapat melihat nama proyek Jenkins Anda saat menautkan ke build, tetapi Anda dapat memasukkan nama di bidang teks URL.

Sumber artefak - kontainer

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. Anda harus membuat koneksi layanan untuk mengautentikasi dengan Azure. Lihat mengelola koneksi layanan untuk detail selengkapnya.

Fitur berikut tersedia saat menggunakan Azure Container sebagai sumber artefak:

Fitur Deskripsi
Rilis pemicu otomatis Rilis baru dapat dibuat secara otomatis ketika artefak build baru tersedia (termasuk build XAML). Lihat Pemicu rilis untuk detail selengkapnya.
Variabel artefak Sejumlah variabel artefak didukung untuk sumber Azure Pipelines.
Item dan penerapan kerja Anda dapat menautkan item kerja Azure Pipelines dan item tersebut akan ditampilkan dalam detail rilis. Penerapan ditampilkan saat Anda menggunakan kontrol sumber Git atau TFVC.
Unduhan artefak Secara default, artefak build diunduh ke agen yang menjalankan alur. Anda juga dapat mengonfigurasi langkah dalam tahap untuk melewati pengunduhan artefak Anda.

Catatan

Saat menggunakan beberapa sumber artefak, pemetaan sumber artefak untuk memicu tahap tertentu tidak didukung. Rilis akan dibuat kapan saja ada dorongan ke salah satu sumber artefak. Jika Anda ingin melakukannya, Azure Pipelines merekomendasikan pemisahan alur rilis Anda menjadi beberapa rilis.

Sumber artefak - Artefak Azure

Di bawah ini adalah beberapa skenario di mana Anda dapat menggunakan Artefak Azure sebagai sumber artefak:

  1. Biner aplikasi Anda diterbitkan ke Azure Artifacts dan Anda ingin menggunakan paket dalam alur rilis.
  2. Anda memerlukan paket tambahan yang disimpan di Azure Artifacts sebagai bagian dari alur kerja penyebaran Anda.

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 memilih versi pada saat pembuatan rilis. Selama penyebaran, paket akan diunduh/diekstrak 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 build baru tersedia (termasuk build XAML). Lihat Pemicu rilis untuk detail selengkapnya.
Variabel artefak Sejumlah variabel artefak didukung untuk sumber Azure Pipelines.
Item dan penerapan kerja Anda dapat menautkan item kerja Azure Pipelines dan item tersebut akan ditampilkan dalam detail rilis. Penerapan ditampilkan saat Anda menggunakan kontrol sumber Git atau TFVC.
Unduhan artefak Secara default, artefak build diunduh ke agen yang menjalankan alur. Anda juga dapat mengonfigurasi langkah dalam tahap untuk melewati pengunduhan artefak Anda.

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.jarmyApplication-2.1.0.BUILD-20190820.220331-1.jar). Anda mungkin perlu menghapus versi lama dan hanya menyimpan Artefak terbaru sebelum penyebaran. Jalankan perintah PowerShell berikut dalam prompt perintah yang ditinggikan 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 Anda mencapai batas maksimum, Azure Artifacts akan secara otomatis menghapus rekam jepret hingga 25. Proses ini akan dipicu secara otomatis setiap kali 30+ rekam jepret diterbitkan ke umpan Anda.

Sumber artefak - Server TFS

Anda dapat menggunakan Azure Pipelines untuk menyebarkan artefak dari server TFS tanpa harus membuat server Anda dapat ditemukan di Internet dengan menyiapkan agen otomatisasi lokal. Artefak diunduh ke agen lokal dan kemudian disebarkan ke server target yang ditentukan tanpa meninggalkan jaringan perusahaan Anda. Ini sangat ideal bagi pelanggan untuk memanfaatkan investasi infrastruktur lokal mereka sambil memanfaatkan rilis Azure Pipelines.

Untuk menggunakan server TFS sebagai sumber artefak, Anda harus menginstal artefak TFS untuk ekstensi Azure Pipelines dari Visual Studio Marketplace, lalu membuat koneksi layanan untuk mengautentikasi dengan Azure Pipelines. Setelah diautentikasi, Anda kemudian dapat menautkan alur build TFS ke alur rilis Anda dan memilih Build TFS Eksternal dari menu dropdown Jenis .

Fitur berikut tersedia saat menggunakan server TFS sebagai sumber artefak:

Fitur Deskripsi
Rilis pemicu otomatis Rilis baru dapat dibuat secara otomatis ketika artefak build baru tersedia (termasuk build XAML). Lihat Pemicu rilis untuk detail selengkapnya.
Variabel artefak Sejumlah variabel artefak didukung untuk sumber Azure Pipelines.
Item dan penerapan kerja Anda dapat menautkan item kerja Azure Pipelines dan item tersebut akan ditampilkan dalam detail rilis. Penerapan ditampilkan saat Anda menggunakan kontrol sumber Git atau TFVC.
Unduhan artefak Secara default, artefak build diunduh ke agen yang menjalankan alur. Anda juga dapat mengonfigurasi langkah dalam tahap untuk melewati pengunduhan artefak Anda.

Azure Pipelines mungkin tidak dapat menghubungi server TFS lokal jika berada dalam jaringan perusahaan Anda. Dalam hal ini Anda dapat mengintegrasikan Azure Pipelines dengan TFS dengan menyiapkan agen lokal yang dapat mengakses server TFS. Anda tidak akan dapat melihat nama proyek TFS atau alur build saat menautkan ke build, tetapi Anda dapat menyertakan variabel tersebut di bidang teks URL. Selain itu, saat Anda membuat rilis, Azure Pipelines mungkin tidak dapat mengkueri server TFS untuk nomor build. Sebagai gantinya, masukkan ID Build (bukan nomor build) dari build yang diinginkan di bidang yang sesuai, atau pilih Build terbaru.

Sumber artefak - TeamCity

Untuk menggunakan TeamCity sebagai sumber Artefak, Anda harus terlebih dahulu menginstal artefak TeamCity untuk ekstensi Azure Pipelines dari Visual Studio Marketplace.

Setelah selesai, buat koneksi layanan untuk mengautentikasi dengan server TeamCity Anda. Anda kemudian dapat menautkan artefak build Anda ke alur rilis. Konfigurasi build TeamCity harus disiapkan dengan tindakan untuk menerbitkan artefak.

Fitur berikut tersedia saat menggunakan TeamCity sebagai sumber artefak:

Fitur Deskripsi
Rilis pemicu otomatis Rilis baru dapat dibuat secara otomatis ketika artefak build baru tersedia (termasuk build XAML). Lihat Pemicu rilis untuk detail selengkapnya.
Variabel artefak Sejumlah variabel artefak didukung untuk sumber Azure Pipelines.
Item dan penerapan kerja Anda dapat menautkan item kerja Azure Pipelines dan item tersebut akan ditampilkan dalam detail rilis. Penerapan ditampilkan saat Anda menggunakan kontrol sumber Git atau TFVC.
Unduhan artefak Secara default, artefak build diunduh ke agen yang menjalankan alur. Anda juga dapat mengonfigurasi langkah dalam tahap untuk melewati pengunduhan artefak Anda.

Azure Pipelines mungkin tidak dapat menghubungi server TeamCity Anda jika, misalnya, berada dalam jaringan perusahaan Anda. Dalam hal ini Anda dapat mengintegrasikan Azure Pipelines dengan TeamCity dengan menyiapkan agen lokal yang dapat mengakses server TeamCity. Anda tidak akan dapat melihat nama proyek TeamCity Saat menautkan ke build, tetapi Anda dapat mengetik ini ke bidang teks URL.

Alias sumber artefak

Untuk memastikan keunikan setiap unduhan artefak, setiap sumber artefak yang ditautkan ke alur rilis secara otomatis disediakan dengan lokasi unduhan tertentu yang dikenal sebagai alias sumber. Lokasi ini dapat diakses dengan 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 tidak berubah.

Secara default, alias sumber adalah nama sumber artefak yang diawali dengan garis bawah. Bergantung pada jenis sumber artefak, ini akan menjadi nama alur build, nama pekerjaan, nama proyek, atau nama repositori. Anda dapat mengedit alias sumber dari tab artefak dari alur rilis Anda.

Unduhan artefak

Ketika penyebaran selesai ke tahap, artefak versi dari setiap sumber diunduh ke agen alur sehingga tugas yang berjalan dalam tahap itu dapat mengakses artefak tersebut. Artefak yang diunduh tidak dihapus saat rilis selesai. Namun, ketika Anda memulai rilis berikutnya, artefak yang diunduh akan dihapus dan diganti dengan sekumpulan artefak baru.

Folder unik baru di agen dibuat untuk setiap alur rilis saat rilis dimulai, dan artefak diunduh ke folder berikut:$(System.DefaultWorkingDirectory).

Azure Pipelines tidak melakukan pengoptimalan apa pun untuk menghindari pengunduhan artefak yang tidak berubah jika rilis yang sama disebarkan lagi. Selain itu, karena konten yang diunduh sebelumnya selalu dihapus saat Anda memulai rilis baru, Azure Pipelines tidak dapat melakukan unduhan tambahan ke agen.

Namun, Anda dapat menyiapkan alur Anda untuk melewati unduhan otomatis untuk pekerjaan atau tahap tertentu jika Anda ingin melakukannya.