Variabel artefak dan rilis klasik
Layanan Azure DevOps | Azure DevOps Server 2022 - Azure DevOps Server 2019
Variabel rilis dan artefak klasik adalah cara mudah untuk bertukar dan mengangkut data ke seluruh alur Anda. Setiap variabel disimpan sebagai string dan nilainya dapat berubah di antara eksekusi alur Anda.
Variabel berbeda dari parameter Runtime yang hanya tersedia pada waktu penguraian templat.
Saat Anda menyusun tugas untuk menyebarkan aplikasi Anda ke setiap tahap dalam proses DEVOps CI/CD Anda, variabel akan membantu Anda untuk:
Tentukan alur penyebaran yang lebih umum sekali, lalu sesuaikan dengan mudah untuk setiap tahap. Misalnya, variabel dapat digunakan untuk mewakili string koneksi untuk penyebaran web, dan nilai variabel ini dapat diubah dari satu tahap ke tahap lainnya. Ini adalah variabel kustom.
Gunakan informasi tentang konteks rilis, tahap, artefak, atau agen tertentu tempat alur penyebaran dijalankan. Misalnya, skrip Anda mungkin memerlukan akses ke lokasi build untuk mengunduhnya, atau ke direktori kerja pada agen untuk membuat file sementara. Ini adalah variabel default.
Catatan
Untuk alur YAML, lihat variabel yang ditentukan pengguna dan variabel yang telah ditentukan sebelumnya untuk detail selengkapnya.
Variabel default
Informasi tentang konteks eksekusi tersedia untuk menjalankan tugas melalui variabel default. Tugas dan skrip Anda dapat menggunakan variabel ini untuk menemukan informasi tentang sistem, rilis, tahap, atau agen tempat mereka berjalan. Dengan pengecualian System.Debug, variabel ini bersifat baca-saja dan nilainya secara otomatis diatur oleh sistem. Beberapa variabel paling signifikan dijelaskan dalam tabel berikut. Untuk melihat daftar lengkap, lihat Menampilkan nilai saat ini dari semua variabel.
Tip
Anda dapat melihat nilai saat ini dari semua variabel untuk rilis , dan menggunakan variabel default untuk menjalankan rilis dalam mode debug.
Sistem
Nama variabel | Deskripsi |
---|---|
System.TeamFoundationServerUri | URL koneksi layanan di Azure Pipelines. Gunakan ini dari skrip atau tugas Anda untuk memanggil REST API Azure Pipelines. Contoh: https://fabrikam.vsrm.visualstudio.com/ |
System.TeamFoundationCollectionUri | URL koleksi Team Foundation atau Azure Pipelines. Gunakan ini dari skrip atau tugas Anda untuk memanggil REST API di layanan lain seperti kontrol Build dan Versi. Contoh: https://dev.azure.com/fabrikam/ |
System.CollectionId | ID koleksi tempat build atau rilis ini berada. Contoh: 6c6f3423-1c84-4625-995a-f7f143a1e43d |
System.DefinitionId | ID alur rilis tempat rilis saat ini berada. Contoh: 1 |
System.TeamProject | Nama proyek tempat build atau rilis ini berada. Contoh: Fabrikam |
System.TeamProjectId | ID proyek tempat build atau rilis ini berada. Contoh: 79f5c12e-3337-4151-be41-a268d2c73344 |
System.ArtifactsDirectory | Direktori tempat artefak diunduh selama penyebaran rilis. Direktori dibersihkan sebelum setiap penyebaran jika memerlukan artefak untuk diunduh ke agen. Sama seperti Agent.ReleaseDirectory dan System.DefaultWorkingDirectory. Contoh: C:\agent\_work\r1\a |
System.DefaultWorkingDirectory | Direktori tempat artefak diunduh selama penyebaran rilis. Direktori dibersihkan sebelum setiap penyebaran jika memerlukan artefak untuk diunduh ke agen. Sama seperti Agent.ReleaseDirectory dan System.ArtifactsDirectory. Contoh: C:\agent\_work\r1\a |
System.WorkFolder | Direktori kerja untuk agen ini, tempat subfolder dibuat untuk setiap build atau rilis. Sama seperti Agent.RootDirectory dan Agent.WorkFolder. Contoh: C:\agent\_work |
System.Debug | Ini adalah satu-satunya variabel sistem yang dapat diatur oleh pengguna. Atur ini ke true untuk menjalankan rilis dalam mode debug untuk membantu dalam pencarian kesalahan. Contoh: true |
Lepaskan
Nama variabel | Deskripsi |
---|---|
Release.AttemptNumber | Frekuensi rilis ini disebarkan dalam tahap ini. Contoh: 1 |
Release.DefinitionEnvironmentId | ID tahap dalam alur rilis yang sesuai. Contoh: 1 |
Release.DefinitionId | ID alur rilis tempat rilis saat ini berada. Contoh: 1 |
Release.DefinitionName | Nama alur rilis tempat rilis saat ini berada. Contoh: fabrikam-cd |
Release.Deployment.RequestedFor | Nama tampilan identitas yang memicu (memulai) penyebaran yang saat ini sedang berlangsung. Contoh: Mateo Escobedo |
Release.Deployment.RequestedForEmail | Alamat email identitas yang memicu (memulai) penyebaran yang saat ini sedang berlangsung. Contoh: mateo@fabrikam.com |
Release.Deployment.RequestedForId | ID identitas yang memicu (memulai) penyebaran yang saat ini sedang berlangsung. Contoh: 2f435d07-769f-4e46-849d-10d1ab9ba6ab |
Release.DeploymentID | ID penyebaran. Unik per pekerjaan. Contoh: 254 |
Release.DeployPhaseID | ID fase tempat penyebaran berjalan. Contoh: 127 |
Release.EnvironmentId | ID instans tahap dalam rilis tempat penyebaran saat ini sedang berlangsung. Contoh: 276 |
Release.EnvironmentName | Nama tahap tempat penyebaran saat ini sedang berlangsung. Contoh: Dev |
Release.EnvironmentUri | URI instans tahap dalam rilis tempat penyebaran saat ini sedang berlangsung. Contoh: vstfs://ReleaseManagement/Environment/276 |
Release.Environments. {stage-name}.status | Status penyebaran tahapan. Contoh: InProgress |
Release.PrimaryArtifactSourceAlias | Alias sumber artefak utama Contoh: fabrikam\_web |
Release.Reason | Alasan penyebaran. Nilai yang didukung adalah:ContinuousIntegration - rilis dimulai dalam Penyebaran Berkelanjutan setelah build selesai.Manual - rilis dimulai secara manual.None - alasan penyebaran belum ditentukan.Schedule - rilis dimulai dari jadwal. |
Release.ReleaseDescription | Deskripsi teks yang disediakan pada saat rilis. Contoh: Critical security patch |
Release.ReleaseId | Pengidentifikasi rekaman rilis saat ini. Contoh: 118 |
Release.ReleaseName | Nama rilis saat ini. Contoh: Release-47 |
Release.ReleaseUri | URI rilis saat ini. Contoh: vstfs://ReleaseManagement/Release/118 |
Release.ReleaseWebURL | URL untuk rilis ini. Contoh: https://dev.azure.com/fabrikam/f3325c6c/_release?releaseId=392&_a=release-summary |
Release.RequestedFor | Nama tampilan identitas yang memicu rilis. Contoh: Mateo Escobedo |
Release.RequestedForEmail | Alamat email identitas yang memicu rilis. Contoh: mateo@fabrikam.com |
Release.RequestedForId | ID identitas yang memicu rilis. Contoh: 2f435d07-769f-4e46-849d-10d1ab9ba6ab |
Release.SkipArtifactsDownload | Nilai Boolean yang menentukan apakah akan melewati pengunduhan artefak ke agen atau tidak. Contoh: FALSE |
Release.TriggeringArtifact.Alias | Alias artefak yang memicu rilis. Ini kosong ketika rilis dijadwalkan atau dipicu secara manual. Contoh: fabrikam\_app |
Tahap rilis
Nama variabel | Deskripsi |
---|---|
Release.Environments. {nama tahap}. Status | Status penyebaran rilis ini dalam tahap tertentu. Contoh: NotStarted |
Agen
Artefak Umum
Untuk setiap artefak yang dirujuk dalam rilis, Anda dapat menggunakan variabel artefak berikut. Tidak semua variabel bermakna untuk setiap jenis artefak. Tabel di bawah ini mencantumkan variabel artefak default dan menyediakan contoh nilai yang dimilikinya tergantung pada jenis artefak. Jika contoh kosong, itu menyiratkan bahwa variabel tidak diisi untuk jenis artefak tersebut.
{alias}
Ganti tempat penampung dengan nilai yang Anda tentukan untuk alias artefak atau dengan nilai default yang dihasilkan untuk alur rilis.
Nama variabel | Deskripsi |
---|---|
Release.Artifacts. {alias}. DefinitionId | Pengidentifikasi alur atau repositori build. Contoh Azure Pipelines: 1 Contoh GitHub: fabrikam/asp |
Release.Artifacts. {alias}. DefinitionName | Nama alur atau repositori build. Contoh Azure Pipelines: fabrikam-ci Contoh TFVC: $/fabrikam Contoh Git: fabrikam Contoh GitHub: fabrikam/asp (main) |
Release.Artifacts. {alias}. BuildNumber | Nomor build atau pengidentifikasi penerapan. Contoh Azure Pipelines: 20170112.1 Contoh Jenkins/TeamCity: 20170112.1 Contoh TFVC: Changeset 3 Contoh Git: 38629c964 Contoh GitHub: 38629c964 |
Release.Artifacts. {alias}. BuildId | Pengidentifikasi build. Contoh Azure Pipelines: 130 Contoh Jenkins/TeamCity: 130 Contoh GitHub: 38629c964d21fe405ef830b7d0220966b82c9e11 |
Release.Artifacts. {alias}. BuildURI | URL untuk build. Contoh Azure Pipelines: vstfs://build-release/Build/130 Contoh GitHub: https://github.com/fabrikam/asp |
Release.Artifacts. {alias}. SourceBranch | Jalur lengkap dan nama cabang tempat sumber dibangun. Contoh Azure Pipelines: refs/heads/main |
Release.Artifacts. {alias}. SourceBranchName | Nama hanya cabang tempat sumber dibangun. Contoh Azure Pipelines: main |
Release.Artifacts. {alias}. SourceVersion | Penerapan yang dibangun. Contoh Azure Pipelines: bc0044458ba1d9298cdc649cb5dcf013180706f7 |
Release.Artifacts. {alias}. Repositori.Provider | Jenis repositori tempat sumber dibangun. Contoh Azure Pipelines: Git |
Release.Artifacts. {alias}. RequestedForID | Pengidentifikasi akun yang memicu build. Contoh Azure Pipelines: 2f435d07-769f-4e46-849d-10d1ab9ba6ab |
Release.Artifacts. {alias}. DimintaUntuk | Nama akun yang meminta build. Contoh Azure Pipelines: Mateo Escobedo |
Release.Artifacts. {alias}. Jenis | Jenis sumber artefak, seperti Build. Contoh Azure Pipelines: Build Contoh Jenkins: Jenkins Contoh TeamCity: TeamCity Contoh TFVC: TFVC Contoh Git: Git Contoh GitHub: GitHub |
Release.Artifacts. {alias}. PullRequest.TargetBranch | Jalur lengkap dan nama cabang yang merupakan target permintaan pull. Variabel ini diinisialisasi hanya jika rilis dipicu oleh alur permintaan pull. Contoh Azure Pipelines: refs/heads/main |
Release.Artifacts. {alias}. PullRequest.TargetBranchName | Nama hanya cabang yang merupakan target permintaan pull. Variabel ini diinisialisasi hanya jika rilis dipicu oleh alur permintaan pull. Contoh Azure Pipelines: main |
Lihat juga Alias sumber artefak
Artefak Utama
Anda menunjuk salah satu artefak sebagai artefak utama dalam alur rilis. Untuk artefak utama yang ditunjuk, Azure Pipelines mengisi variabel berikut.
Nama variabel | Sama seperti |
---|---|
Build.DefinitionId | Release.Artifacts. {Alias artefak utama}. DefinitionId |
Build.DefinitionName | Release.Artifacts. {Alias artefak utama}. DefinitionName |
Build.BuildNumber | Release.Artifacts. {Alias artefak utama}. BuildNumber |
Build.BuildId | Release.Artifacts. {Alias artefak utama}. BuildId |
Build.BuildURI | Release.Artifacts. {Alias artefak utama}. BuildURI |
Build.SourceBranch | Release.Artifacts. {Alias artefak utama}. SourceBranch |
Build.SourceBranchName | Release.Artifacts. {Alias artefak utama}. SourceBranchName |
Build.SourceVersion | Release.Artifacts. {Alias artefak utama}. SourceVersion |
Build.Repository.Provider | Release.Artifacts. {Alias artefak utama}. Repositori.Provider |
Build.RequestedForID | Release.Artifacts. {Alias artefak utama}. RequestedForID |
Build.RequestedFor | Release.Artifacts. {Alias artefak utama}. DimintaUntuk |
Build.Type | Release.Artifacts. {Alias artefak utama}. Jenis |
Build.PullRequest.TargetBranch | Release.Artifacts. {Alias artefak utama}. PullRequest.TargetBranch |
Build.PullRequest.TargetBranchName | Release.Artifacts. {Alias artefak utama}. PullRequest.TargetBranchName |
Menggunakan variabel default
Anda dapat menggunakan variabel default dengan dua cara - sebagai parameter untuk tugas dalam alur rilis atau dalam skrip Anda.
Anda dapat langsung menggunakan variabel default sebagai input ke tugas.
Misalnya, untuk meneruskan Release.Artifacts.{Artifact alias}.DefinitionName
sumber artefak yang aliasnya ASPNET4.CI ke tugas, Anda akan menggunakan $(Release.Artifacts.ASPNET4.CI.DefinitionName)
.
Untuk menggunakan variabel default dalam skrip Anda, Anda harus terlebih dahulu mengganti .
dalam nama variabel default dengan _
.
Misalnya, untuk mencetak nilai variabel Release.Artifacts.{Artifact alias}.DefinitionName
artefak untuk sumber artefak yang aliasnya ASPNET4.CI dalam skrip PowerShell, Anda akan menggunakan $env:RELEASE_ARTIFACTS_ASPNET4_CI_DEFINITIONNAME
.
Perhatikan bahwa nama asli alias sumber artefak, ASPNET4.CI
, digantikan oleh ASPNET4_CI
.
Menampilkan nilai saat ini dari semua variabel
Buka tampilan alur ringkasan untuk rilis, dan pilih tahap yang Anda minati. Dalam daftar langkah-langkah, pilih Inisialisasi pekerjaan.
Ini membuka log untuk langkah ini. Gulir ke bawah untuk melihat nilai yang digunakan oleh agen untuk pekerjaan ini.
Menjalankan rilis dalam mode debug
Tampilkan informasi tambahan saat rilis dijalankan dan dalam file log dengan menjalankan seluruh rilis, atau hanya tugas dalam tahap rilis individual, dalam mode debug. Ini dapat membantu Anda mengatasi masalah dan kegagalan.
Untuk memulai mode debug untuk seluruh rilis, tambahkan variabel bernama
System.Debug
dengan nilaitrue
ke tab Variabel dari alur rilis .Untuk memulai mode debug untuk satu tahap, buka dialog Konfigurasikan tahap dari menu pintasan tahap dan tambahkan variabel bernama
System.Debug
dengan nilaitrue
ke tab Variabel .Atau, buat grup variabel yang berisi variabel bernama
System.Debug
dengan nilaitrue
dan tautkan grup variabel ini ke alur rilis.
Tip
Jika Anda mendapatkan kesalahan yang terkait dengan koneksi layanan Azure RM, lihat Cara: Memecahkan masalah koneksi layanan Azure Resource Manager.
Variabel kustom
Variabel kustom dapat didefinisikan pada berbagai cakupan.
Bagikan nilai di semua definisi dalam proyek dengan menggunakan grup variabel. Pilih grup variabel saat Anda perlu menggunakan nilai yang sama di semua definisi, tahapan, dan tugas dalam proyek, dan Anda ingin dapat mengubah nilai dalam satu tempat. Anda menentukan dan mengelola grup variabel di tab Pustaka .
Bagikan nilai di semua tahap dengan menggunakan variabel alur rilis. Pilih variabel alur rilis saat Anda perlu menggunakan nilai yang sama di semua tahap dan tugas dalam alur rilis, dan Anda ingin dapat mengubah nilai dalam satu tempat. Anda menentukan dan mengelola variabel ini di tab Variabel dalam alur rilis . Di halaman Variabel Alur, buka daftar drop-down Cakupan dan pilih "Rilis". Secara default, saat Anda menambahkan variabel, variabel diatur ke Cakupan Rilis.
Bagikan nilai di semua tugas dalam satu tahap tertentu dengan menggunakan variabel tahap. Gunakan variabel tingkat tahap untuk nilai yang bervariasi dari tahap ke tahap (dan sama untuk semua tugas dalam tahap). Anda menentukan dan mengelola variabel ini di tab Variabel dari alur rilis . Di halaman Variabel Alur, buka daftar drop-down Cakupan dan pilih tahap yang diperlukan. Saat Anda menambahkan variabel, atur Cakupan ke lingkungan yang sesuai.
Menggunakan variabel kustom di proyek, alur rilis, dan cakupan tahap membantu Anda untuk:
Hindari duplikasi nilai, sehingga lebih mudah untuk memperbarui semua kemunculan sebagai satu operasi.
Simpan nilai sensitif dengan cara yang tidak dapat dilihat atau diubah oleh pengguna alur rilis. Tentukan properti konfigurasi untuk menjadi variabel aman (rahasia) dengan memilih ikon (gembok) di samping variabel.
Penting
Nilai variabel tersembunyi (rahasia) disimpan dengan aman di server dan tidak dapat dilihat oleh pengguna setelah disimpan. Selama penyebaran, layanan rilis Azure Pipelines mendekripsi nilai-nilai ini saat dirujuk oleh tugas dan meneruskannya ke agen melalui saluran HTTPS yang aman.
Catatan
Membuat variabel kustom dapat menimpa variabel standar. Misalnya, variabel lingkungan Jalur PowerShell. Jika Anda membuat variabel kustom Path
pada agen Windows, variabel tersebut akan menimpa $env:Path
variabel dan PowerShell tidak akan dapat dijalankan.
Menggunakan variabel kustom
Untuk menggunakan variabel kustom dalam tugas build dan rilis Anda, cukup sertakan nama variabel dalam tanda kurung dan awali dengan $ karakter. Misalnya, jika Anda memiliki variabel bernama adminUserName, Anda dapat menyisipkan nilai variabel tersebut saat ini ke dalam parameter tugas sebagai $(adminUserName)
.
Catatan
Variabel dalam grup berbeda yang ditautkan ke alur dalam cakupan yang sama (misalnya, pekerjaan atau tahap) akan bertabrakan dan hasilnya mungkin tidak dapat diprediksi. Pastikan Anda menggunakan nama yang berbeda untuk variabel di semua grup variabel Anda.
Menentukan dan memodifikasi variabel Anda dalam skrip
Untuk menentukan atau mengubah variabel dari skrip, gunakan perintah pengelogan task.setvariable
.
Perhatikan bahwa nilai variabel yang diperbarui dilingkup ke pekerjaan yang dijalankan, dan tidak mengalir di seluruh pekerjaan atau tahap.
Nama variabel diubah menjadi huruf besar, dan karakter "." dan " " digantikan oleh "_".
Misalnya, Agent.WorkFolder
menjadi AGENT_WORKFOLDER
.
Di Windows, Anda mengakses ini sebagai %AGENT_WORKFOLDER%
atau $env:AGENT_WORKFOLDER
.
Di Linux dan macOS, Anda menggunakan $AGENT_WORKFOLDER
.
Tip
Anda dapat menjalankan skrip pada:
- Agen Windows menggunakan tugas skrip Batch atau tugas skrip PowerShell.
- agen macOS atau Linux menggunakan tugas skrip Shell.
Skrip batch
sauce
Mengatur variabel dan secret.Sauce
@echo ##vso[task.setvariable variable=sauce]crushed tomatoes
@echo ##vso[task.setvariable variable=secret.Sauce;issecret=true]crushed tomatoes with garlic
Membaca variabel
Argumen
"$(sauce)" "$(secret.Sauce)"
Skrip
@echo off
set sauceArgument=%~1
set secretSauceArgument=%~2
@echo No problem reading %sauceArgument% or %SAUCE%
@echo But I cannot read %SECRET_SAUCE%
@echo But I can read %secretSauceArgument% (but the log is redacted so I do not spoil
the secret)
Output konsol dari membaca variabel:
No problem reading crushed tomatoes or crushed tomatoes
But I cannot read
But I can read ******** (but the log is redacted so I do not spoil the secret)
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