Bagikan melalui


Menggunakan variabel yang telah ditentukan sebelumnya

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

Variabel memberi Anda cara yang mudah untuk mendapatkan bit kunci data ke berbagai bagian alur. Ini adalah daftar variabel yang telah ditentukan yang tersedia untuk Anda gunakan. Mungkin ada beberapa variabel lain yang telah ditentukan sebelumnya, tetapi sebagian besar untuk penggunaan internal.

Variabel ini secara otomatis diatur oleh sistem dan baca-saja. (Pengecualiannya adalah Build.Clean dan System.Debug.)

Dalam alur YAML, Anda dapat mereferensikan variabel yang telah ditentukan sebelumnya sebagai variabel lingkungan. Misalnya, variabel Build.ArtifactStagingDirectory menjadi variabel BUILD_ARTIFACTSTAGINGDIRECTORY.

Untuk alur klasik, Anda dapat menggunakan variabel rilis dalam tugas penyebaran Anda untuk berbagi informasi umum (misalnya, Nama Lingkungan, Grup Sumber Daya, dll.).

Pelajari selengkapnya tentang bekerja dengan variabel.

Build.Clean

Ini adalah variabel yang tidak digunakan lagi yang memodifikasi cara agen build membersihkan sumber. Untuk mempelajari cara membersihkan sumber, lihat Membersihkan repositori lokal pada agen.

System.AccessToken

System.AccessToken adalah variabel khusus yang membawa token keamanan yang digunakan oleh build yang sedang berjalan.

Di YAML, Anda harus secara eksplisit memetakan System.AccessToken ke dalam alur menggunakan variabel. Anda dapat melakukan ini di tingkat langkah atau tugas:

steps:
  - script: |
      echo "Using System.AccessToken to authenticate"
      git clone https://$(System.AccessToken)@dev.azure.com/yourorganization/yourproject/_git/yourrepository
    displayName: 'Clone repository using System.AccessToken'
    env:
      SYSTEM_ACCESSTOKEN: $(System.AccessToken)

Anda dapat mengonfigurasi cakupan default untuk System.AccessToken menggunakan cakupan otorisasi pekerjaan build.

System.Debug

Untuk log yang lebih rinci untuk men-debug masalah alur, tentukan System.Debug dan atur ke true.

  1. Edit alur Anda.

  2. Pilih Variabel.

  3. Tambahkan variabel baru dengan nama System.Debug dan nilai true.

    Atur Debug Sistem ke true

  4. Simpan variabel baru.

Pengaturan System.Debug untuk true mengonfigurasi log verbose untuk semua eksekusi. Anda juga dapat mengonfigurasi log verbose untuk satu eksekusi dengan kotak centang Aktifkan diagnostik sistem.

Anda juga dapat mengatur System.Debug ke true sebagai variabel dalam alur atau templat.

variables:
  system.debug: 'true'

Ketika System.Debug diatur ke true, variabel tambahan bernama Agent.Diagnostic diatur ke true. Ketika Agent.Diagnostic adalah , agen mengumpulkan lebih banyak truelog yang dapat digunakan untuk memecahkan masalah jaringan untuk agen yang dihost sendiri. Untuk mengetahui informasi selengkapnya, lihat Diagnostik jaringan untuk agen yang dihost sendiri.

Catatan

Variabel Agent.Diagnostic tersedia dengan Agen v2.200.0 dan yang lebih tinggi.

Untuk informasi selengkapnya, lihat Meninjau log untuk mendiagnosis masalah alur.

Variabel agen (Layanan DevOps)

Catatan

Anda dapat menggunakan variabel agen sebagai variabel lingkungan dalam skrip Anda dan sebagai parameter dalam tugas build Anda. Anda tidak dapat menggunakannya untuk menyesuaikan nomor build atau menerapkan label atau tag kontrol versi.

Variabel Deskripsi
Agent.BuildDirectory Jalur lokal pada agen tempat semua folder untuk alur build tertentu dibuat. Variabel ini memiliki nilai yang sama dengan Pipeline.Workspace. Misalnya: /home/vsts/work/1.
Agent.ContainerMapping Pemetaan dari nama sumber daya kontainer di YAML ke ID Docker mereka saat runtime.

Contoh mengikuti tabel.
Agent.HomeDirectory Direktori tempat agen diinstal. Ini berisi perangkat lunak agen. Misalnya: c:\agent.
Agent.Id ID agen.
Agent.JobName Nama pekerjaan yang sedang berjalan. Ini biasanya akan menjadi "Pekerjaan"; atau "__default", tetapi dalam skenario multi-konfigurasi, akan menjadi konfigurasi.
Agent.JobStatus Status build.
  • Canceled
  • Failed
  • Succeeded
  • SucceededWithIssues (sebagian berhasil)
  • Skipped (Pekerjaan terakhir)
Variabel lingkungan harus dirujuk sebagai AGENT_JOBSTATUS. Yang lebih agent.jobstatus lama tersedia untuk kompatibilitas mundur.
Agent.MachineName Nama komputer tempat agen diinstal.
Agent.Name Nama agen yang terdaftar di kumpulan.

Jika Anda menggunakan agen yang dihost sendiri, maka nama ini ditentukan oleh Anda. Lihat agen.
Agent.OS Sistem operasi host agen. Nilai yang valid adalah:
  • Windows_NT
  • Darwin
  • Linux
Jika Anda berjalan dalam kontainer, host agen dan kontainer mungkin menjalankan sistem operasi yang berbeda.
Agent.OSArchitecture Arsitektur prosesor sistem operasi host agen. Nilai yang valid adalah:
  • X86
  • X64
  • ARM
Agent.TempDirectory Folder sementara yang dibersihkan setelah setiap pekerjaan alur. Direktori ini digunakan oleh tugas seperti tugas .NET Core CLI untuk menyimpan item sementara seperti hasil pengujian sebelum diterbitkan.

Misalnya: /home/vsts/work/_temp untuk Ubuntu.
Agent.ToolsDirectory Direktori yang digunakan oleh tugas seperti Penginstal Alat Simpul dan Menggunakan Versi Python untuk beralih di antara beberapa versi alat.

Tugas-tugas ini menambahkan alat dari direktori ini sehingga PATH langkah-langkah build berikutnya dapat menggunakannya.

Pelajari tentang mengelola direktori ini pada agen yang dihost sendiri.
Agent.WorkFolder Direktori kerja untuk agen ini.

Misalnya: c:\agent_work.

Catatan: Direktori ini tidak dijamin dapat ditulis oleh tugas alur (misalnya, saat dipetakan ke dalam kontainer)

Contoh Agent.ContainerMapping:

{
  "one_container": {
    "id": "bdbb357d73a0bd3550a1a5b778b62a4c88ed2051c7802a0659f1ff6e76910190"
  },
  "another_container": {
    "id": "82652975109ec494876a8ccbb875459c945982952e0a72ad74c91216707162bb"
  }
}

Variabel build (Layanan DevOps)

Saat Anda menggunakan variabel dalam templat yang tidak ditandai sebagai tersedia dalam templat, variabel tidak akan dirender. Variabel tidak akan dirender karena nilainya tidak dapat diakses dalam cakupan templat.

Variabel Deskripsi Tersedia dalam templat?
Build.ArtifactStagingDirectory Jalur lokal pada agen tempat artefak apa pun disalin sebelum didorong ke tujuannya. Misalnya: c:\agent_work\1\a.

Cara umum untuk menggunakan folder ini adalah dengan menerbitkan artefak build Anda dengan tugas Salin file dan Terbitkan artefak build.

Catatan: Build.ArtifactStagingDirectory dan Build.StagingDirectory dapat dipertukarkan. Direktori ini dihapus menyeluruh sebelum setiap build baru, jadi Anda tidak perlu membersihkannya sendiri.

Lihat Artefak di Azure Pipelines.

Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
No
Build.BuildId ID rekaman untuk build yang telah selesai. No
Build.BuildNumber Nama build yang telah selesai, juga dikenal sebagai nomor eksekusi. Anda dapat menentukan apa yang disertakan dalam nilai ini.

Penggunaan umum variabel ini adalah menjadikannya bagian dari format label, yang Anda tentukan pada tab repositori.

Catatan: Nilai ini dapat berisi spasi kosong atau karakter label lain yang tidak valid. Dalam kasus ini, format label gagal.

Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
No
Build.BuildUri URI untuk build. Misalnya: vstfs:///Build/Build/1430.

Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
No
Build.BinariesDirectory Jalur lokal pada agen yang dapat Anda gunakan sebagai folder output untuk biner yang dikompilasi.

Secara default, alur build baru tidak disiapkan untuk membersihkan direktori ini. Anda dapat menentukan build Anda untuk membersihkannya di tab Repositori.

Misalnya: c:\agent_work\1\b.

Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
No
Build.ContainerId ID kontainer untuk artefak Anda. Saat Anda mengunggah artefak di alur Anda, artefak ditambahkan ke kontainer yang khusus untuk artefak tertentu. No
Build.CronSchedule.DisplayName Jadwal displayName cron yang memicu eksekusi alur. Variabel ini hanya diatur jika eksekusi alur dipicu oleh pemicu terjadwal YAML. Untuk informasi selengkapnya, lihat definisi schedules.cron - Variabel Build.CronSchedule.DisplayName Ya
Build.DefinitionName Nama alur build.

Catatan: Nilai ini dapat berisi spasi kosong atau karakter label lain yang tidak valid. Dalam kasus ini, format label gagal.
Ya
Build.DefinitionVersion Versi alur build. Ya
Build.QueuedBy Lihat "Bagaimana variabel identitas diatur?".

Catatan: Nilai ini dapat berisi spasi kosong atau karakter label lain yang tidak valid. Dalam kasus ini, format label gagal.
Ya
Build.QueuedById Lihat "Bagaimana variabel identitas diatur?". Ya
Build.Reason Peristiwa yang menyebabkan build berjalan.
  • Manual: Pengguna secara manual mengantre build.
  • IndividualCI: Integrasi berkelanjutan (CI) yang dipicu oleh pendorongan Git atau check-in TFVC.
  • BatchedCI: Integrasi berkelanjutan (CI) yang dipicu oleh pendorongan Git atau check-in TFVC, dan perubahan Batch dipilih.
  • Schedule: Pemicu terjadwal .
  • ValidateShelveset: Pengguna secara manual mengantrekan build shelveset TFVC tertentu.
  • CheckInShelveset: Pemicu check-in terjaga.
  • PullRequest: Build dipicu oleh kebijakan cabang Git yang memerlukan build.
  • BuildCompletion: Build dipicu oleh build lain
  • ResourceTrigger: Build dipicu oleh pemicu sumber daya atau dipicu oleh build lain.
Lihat Membangun pemicu alur, Meningkatkan kualitas kode dengan kebijakan cabang.
Ya
Build.Repository.Clean Nilai yang Anda pilih untuk Bersihkan di pengaturan repositori sumber.

Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
No
Build.Repository.LocalPath Jalur lokal pada agen tempat file kode sumber Anda diunduh. Misalnya: c:\agent_work\1\s.

Secara default, alur build baru hanya memperbarui file yang diubah. Anda dapat mengubah cara file diunduh pada tab Repositori.

Catatan penting: Jika Anda hanya memeriksa satu repositori Git, jalur ini adalah jalur yang tepat ke kode.

Jika Anda memeriksa beberapa repositori, perilakunya adalah sebagai berikut (dan mungkin berbeda dari nilai variabel Build.SourcesDirectory):
  • Jika langkah checkout untuk repositori mandiri (utama) tidak memiliki jalur checkout kustom yang ditentukan, atau jalur checkout adalah jalur $(Pipeline.Workspace)/s/&<RepoName> default multi-checkout untuk repositori mandiri, nilai variabel ini kembali ke nilai defaultnya, yaitu $(Pipeline.Workspace)/s.
  • Jika langkah checkout untuk repositori mandiri (utama) memang memiliki jalur checkout kustom yang ditentukan (dan bukan jalur default multi-checkout-nya), variabel ini berisi jalur yang tepat ke repositori mandiri.
Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
No
Build.Repository.ID Pengidentifikasi unik repositori.

Ini tidak akan berubah, bahkan jika nama repositori tidak.

Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
No
Build.Repository.Name Nama repositori pemicu.

Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
No
Build.Repository.Provider Jenis repositori pemicu.
Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
No
Build.Repository.Tfvc.Workspace Ditentukan jika repositori Anda adalah Kontrol Versi Team Foundation. Nama ruang kerja TFVC yang digunakan oleh agen build.

Misalnya, jika Agent.BuildDirectory adalah c:\agent_work\12 dan Agent.Id adalah 8, nama ruang kerja bisa menjadi: ws_12_8

Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
No
Build.Repository.Uri URL untuk repositori pemicu. Contohnya:
Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
No
Build.RequestedFor Lihat "Bagaimana variabel identitas diatur?".

Catatan: Nilai ini dapat berisi spasi kosong atau karakter label lain yang tidak valid. Dalam kasus ini, format label gagal.
Ya
Build.RequestedForEmail Lihat "Bagaimana variabel identitas diatur?". Ya
Build.RequestedForId Lihat "Bagaimana variabel identitas diatur?". Ya
Build.SourceBranch Cabang repositori pemicu build diantrekan. Beberapa contoh:
  • Cabang repositori Git: refs/heads/main
  • Permintaan pull repositori Git: refs/pull/1/merge
  • Cabang repositori TFVC: $/teamproject/main
  • Check-in terjaga dengan terjaganya repositori TFVC: Gated_2016-06-06_05.20.51.4369;username@live.com
  • Build shelveset repositori TFVC: myshelveset;username@live.com
  • Saat alur Anda dipicu oleh tag: refs/tags/your-tag-name
Saat Anda menggunakan variabel ini dalam format nomor build Anda, karakter/ garis miring () diganti dengan karakter _garis bawah ).

Catatan: Di TFVC, jika Anda menjalankan build check-in yang terjaga atau membangun shelveset secara manual, Anda tidak dapat menggunakan variabel ini dalam format nomor build Anda.
Ya
Build.SourceBranchName Nama cabang dalam repositori pemicu yang diantrekan build.
  • Cabang repositori Git, permintaan pull, atau tag: Segmen jalur terakhir di ref. Misalnya, dalam refs/heads/main nilai ini adalah main. Dalam refs/heads/feature/tools nilai ini adalah tools. Dalam refs/tags/your-tag-name nilai ini adalah your-tag-name.
  • Cabang repositori TFVC: Segmen jalur terakhir di jalur server akar untuk ruang kerja. Misalnya, dalam $/teamproject/main nilai ini adalah main.
  • TFVC repo gated check-in atau shelveset build adalah nama shelveset. Misalnya, Gated_2016-06-06_05.20.51.4369;username@live.com atau myshelveset;username@live.com.
Catatan: Di TFVC, jika Anda menjalankan build check-in yang terjaga atau membangun shelveset secara manual, Anda tidak dapat menggunakan variabel ini dalam format nomor build Anda.
Ya
Build.SourcesDirectory Jalur lokal pada agen tempat file kode sumber Anda diunduh. Misalnya: c:\agent_work\1\s.

Secara default, alur build baru hanya memperbarui file yang diubah.

Catatan penting: Jika Anda hanya memeriksa satu repositori Git, jalur ini adalah jalur yang tepat ke kode. Jika Anda memeriksa beberapa repositori, repositori tersebut kembali ke nilai defaultnya, yaitu $(Pipeline.Workspace)/s, bahkan jika repositori mandiri (utama) dicek keluar ke jalur kustom yang berbeda dari jalur $(Pipeline.Workspace)/s/<RepoName> default multi-checkout-nya (dalam hal ini, variabel berbeda dari perilaku variabel Build.Repository.LocalPath).

Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
No
Build.SourceVersion Perubahan kontrol versi terbaru dari repositori pemicu yang disertakan dalam build ini.
Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
Ya
Build.SourceVersionMessage Komentar penerapan atau set perubahan untuk repositori pemicu. Kami memotong pesan ke baris pertama atau 200 karakter, mana yang lebih pendek.

Sesuai Build.SourceVersionMessage dengan pesan pada Build.SourceVersion penerapan. Penerapan Build.SourceVersion untuk build PR adalah penerapan penggabungan (bukan penerapan pada cabang sumber).

Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.

Selain itu, variabel ini hanya tersedia pada tingkat langkah dan tidak tersedia dalam tingkat pekerjaan atau tahap (yaitu, pesan tidak diekstraksi sampai pekerjaan dimulai dan kode dicek keluar).

Catatan: Variabel ini tersedia di TFS 2015.4.

Catatan: Variabel Build.SourceVersionMessage tidak berfungsi dengan alur build klasik di repositori Bitbucket saat Batch berubah saat build sedang berlangsung diaktifkan.
No
Build.StagingDirectory Jalur lokal pada agen tempat artefak apa pun disalin sebelum didorong ke tujuannya. Misalnya: c:\agent_work\1\a.

Cara umum untuk menggunakan folder ini adalah dengan menerbitkan artefak build Anda dengan tugas Salin file dan Terbitkan artefak build.

Catatan: Build.ArtifactStagingDirectory dan Build.StagingDirectory dapat dipertukarkan. Direktori ini dihapus menyeluruh sebelum setiap build baru, jadi Anda tidak perlu membersihkannya sendiri.

Lihat Artefak di Azure Pipelines.

Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
No
Build.Repository.Git.SubmoduleCheckout Nilai yang Anda pilih untuk Submodul Checkout pada tab repositori. Dengan beberapa repos yang dicek keluar, nilai ini melacak pengaturan repositori pemicu.

Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
No
Build.SourceTfvcShelveset Ditentukan jika repositori Anda adalah Kontrol Versi Team Foundation.

Jika Anda menjalankan build terjaga atau build shelveset, ini diatur ke nama shelveset yang Anda bangun.

Catatan: Variabel ini menghasilkan nilai yang tidak valid untuk penggunaan build dalam format angka build.
No
Build.TriggeredBy.BuildId Jika build dipicu oleh build lain, maka variabel ini diatur ke BuildID dari build pemicu. Di alur Klasik, variabel ini dipicu oleh pemicu penyelesaian build.

Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.

Jika Anda memicu alur YAML menggunakan resources, Anda harus menggunakan variabel sumber daya sebagai gantinya.
No
Build.TriggeredBy.DefinitionId Jika build dipicu oleh build lain, maka variabel ini diatur ke DefinitionID dari build pemicu. Di alur Klasik, variabel ini dipicu oleh pemicu penyelesaian build.

Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.

Jika Anda memicu alur YAML menggunakan resources, Anda harus menggunakan variabel sumber daya sebagai gantinya.
No
Build.TriggeredBy.DefinitionName Jika build dipicu oleh build lain, maka variabel ini diatur ke nama alur build pemicu. Di alur Klasik, variabel ini dipicu oleh pemicu penyelesaian build.

Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.

Jika Anda memicu alur YAML menggunakan resources, Anda harus menggunakan variabel sumber daya sebagai gantinya.
No
Build.TriggeredBy.BuildNumber Jika build dipicu oleh build lain, maka variabel ini diatur ke jumlah build pemicu. Di alur Klasik, variabel ini dipicu oleh pemicu penyelesaian build.

Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.

Jika Anda memicu alur YAML menggunakan resources, Anda harus menggunakan variabel sumber daya sebagai gantinya.
No
Build.TriggeredBy.ProjectID Jika build dipicu oleh build lain, maka variabel ini diatur ke ID proyek yang berisi build pemicu. Di alur Klasik, variabel ini dipicu oleh pemicu penyelesaian build.

Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.

Jika Anda memicu alur YAML menggunakan resources, Anda harus menggunakan variabel sumber daya sebagai gantinya.
No
Common.TestResultsDirectory Jalur lokal pada agen tempat hasil pengujian dibuat. Misalnya: c:\agent_work\1\TestResults.

Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
No

Variabel alur (Layanan DevOps)

Variabel Deskripsi
Pipeline.Workspace Direktori ruang kerja untuk alur tertentu. Variabel ini memiliki nilai yang sama dengan Agent.BuildDirectory. Contohnya,/home/vsts/work/1.

Tip

Jika Anda menggunakan alur rilis klasik, Anda dapat menggunakan rilis klasik dan variabel artefak untuk menyimpan dan mengakses data di seluruh alur Anda.

Variabel pekerjaan penyebaran (Layanan DevOps)

Variabel ini dilingkup ke pekerjaan Penyebaran tertentu dan hanya akan diselesaikan pada waktu eksekusi pekerjaan.

Variabel Deskripsi
Environment.Name Nama lingkungan yang ditargetkan dalam pekerjaan penyebaran untuk menjalankan langkah-langkah penyebaran dan merekam riwayat penyebaran. Contohnya,smarthotel-dev.
Environment.Id ID lingkungan yang ditargetkan dalam pekerjaan penyebaran. Contohnya,10.
Environment.ResourceName Nama sumber daya tertentu dalam lingkungan yang ditargetkan dalam pekerjaan penyebaran untuk menjalankan langkah-langkah penyebaran dan merekam riwayat penyebaran. Misalnya, bookings yang merupakan namespace Layanan Kubernetes yang telah ditambahkan sebagai sumber daya ke lingkungan smarthotel-dev.
Environment.ResourceId ID sumber daya tertentu dalam lingkungan yang ditargetkan dalam pekerjaan penyebaran untuk menjalankan langkah-langkah penyebaran. Contohnya,4.
Strategy.Name Nama strategi penyebaran: canary, , runOnceatau rolling.
Strategy.CycleName Nama siklus saat ini dalam penyebaran. Opsinya adalah PreIteration, Iteration, atau PostIteration.

Variabel sistem (Layanan DevOps)

Saat Anda menggunakan variabel dalam templat yang tidak ditandai sebagai tersedia dalam templat, variabel tidak akan dirender. Variabel tidak akan dirender karena nilainya tidak dapat diakses dalam cakupan templat.

Variabel Deskripsi Tersedia dalam templat?
System.AccessToken Gunakan token OAuth untuk mengakses REST API.

Gunakan System.AccessToken dari skrip YAML.

Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
Ya
System.CollectionId GUID koleksi TFS atau organisasi Azure DevOps. Ya
System.CollectionUri URI koleksi TFS atau organisasi Azure DevOps. Misalnya: https://dev.azure.com/fabrikamfiber/. Ya
System.DefaultWorkingDirectory Jalur lokal pada agen tempat file kode sumber Anda diunduh. Misalnya: c:\agent_work\1\s

Secara default, alur build baru hanya memperbarui file yang diubah. Anda dapat mengubah cara file diunduh pada tab Repositori.

Variabel ini terlingkup agen. Ini dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
Ya
System.DefinitionId ID alur build. Ya
System.HostType Atur ke build jika alur adalah build. Untuk rilis, nilainya adalah deployment untuk pekerjaan grup Penyebaran, gates selama evaluasi gerbang, dan release untuk pekerjaan (Agen dan Tanpa Agen) lainnya. Ya
System.JobAttempt Atur ke 1 saat pertama kali pekerjaan ini dicoba, dan kenaikan setiap kali pekerjaan dicoba kembali. No
System.JobDisplayName Nama yang dapat dibaca manusia diberikan pada pekerjaan. No
System.JobId Pengidentifikasi unik untuk satu upaya satu pekerjaan. Nilainya unik untuk alur saat ini. No
System.JobName Nama pekerjaan, biasanya digunakan untuk mengekspresikan dependensi dan mengakses variabel output. No
System.OidcRequestUri Buat untuk autentikasi idToken dengan ID Entra menggunakan OpenID Connect (OIDC). Pelajari selengkapnya. Ya
System.PhaseAttempt Atur ke 1 saat pertama kali fase ini dicoba, dan kenaikan setiap kali pekerjaan dicoba kembali.

Catatan: "Fase" adalah konsep yang sebagian besar berlebihan, yang mewakili waktu desain untuk pekerjaan (sedangkan pekerjaan adalah versi runtime fase). Kami sebagian besar telah menghapus konsep "fase" dari Azure Pipelines. Pekerjaan matriks dan multi-konfigurasi adalah satu-satunya tempat di mana "fase" masih berbeda dari "pekerjaan." Satu fase dapat membuat instans beberapa pekerjaan, yang hanya berbeda dalam input mereka.
No
System.PhaseDisplayName Nama yang dapat dibaca manusia diberikan pada fase. No
System.PhaseName Pengidentifikasi berbasis string untuk pekerjaan, biasanya digunakan untuk mengekspresikan dependensi dan mengakses variabel output. No
System.PlanId Pengidentifikasi berbasis string untuk satu eksekusi alur. No
System.PullRequest.IsFork Jika permintaan pull berasal dari fork repositori, variabel ini diatur ke True.

Jika tidak, diatur ke False.
Ya
System.PullRequest.PullRequestId ID permintaan pull yang menyebabkan build ini. Misalnya: 17. (Variabel ini diinisialisasi hanya jika build dijalankan karena Git PR yang terpengaruh oleh kebijakan cabang). No
System.PullRequest.PullRequestNumber Jumlah permintaan pull yang menyebabkan build ini. Variabel ini diisi untuk permintaan pull dari GitHub yang memiliki ID permintaan pull dan nomor permintaan pull yang berbeda. Variabel ini hanya tersedia dalam alur YAML jika PR dipengaruhi oleh kebijakan cabang. No
System.PullRequest.targetBranchName Nama cabang target untuk permintaan pull. Variabel ini dapat digunakan dalam alur untuk menjalankan tugas atau langkah-langkah secara kondisional berdasarkan cabang target permintaan pull. Misalnya, Anda mungkin ingin memicu serangkaian pengujian atau alat analisis kode yang berbeda tergantung pada cabang tempat perubahan digabungkan. No
System.PullRequest.SourceBranch Cabang yang sedang ditinjau dalam permintaan pull. Misalnya: refs/heads/users/raisa/new-feature untuk Azure Repos. (Variabel ini diinisialisasi hanya jika build dijalankan karena Git PR yang terpengaruh oleh kebijakan cabang). Variabel ini hanya tersedia dalam alur YAML jika PR dipengaruhi oleh kebijakan cabang. No
System.PullRequest.SourceCommitId Penerapan yang sedang ditinjau dalam permintaan pull. (Variabel ini diinisialisasi hanya jika build dijalankan karena Git PR yang terpengaruh oleh kebijakan cabang). Variabel ini hanya tersedia dalam alur YAML jika PR dipengaruhi oleh kebijakan cabang.
System.PullRequest.SourceRepositoryURI URL ke repositori yang berisi permintaan pull. Misalnya: https://dev.azure.com/ouraccount/_git/OurProject. No
System.PullRequest.TargetBranch Cabang yang merupakan target permintaan pull. Misalnya: refs/heads/main saat repositori Anda berada di Azure Repos dan main saat repositori Anda berada di GitHub. Variabel ini diinisialisasi hanya jika build berjalan karena Git PR yang terpengaruh oleh kebijakan cabang. Variabel ini hanya tersedia dalam alur YAML jika PR dipengaruhi oleh kebijakan cabang. No
System.StageAttempt Atur ke 1 saat pertama kali tahap ini dicoba, dan kenaikan setiap kali pekerjaan dicoba kembali. No
System.StageDisplayName Nama yang dapat dibaca manusia diberikan ke tahap. No
System.StageName Pengidentifikasi berbasis string untuk tahap, biasanya digunakan untuk mengekspresikan dependensi dan mengakses variabel output. No
System.TeamFoundationCollectionUri URI koleksi TFS atau organisasi Azure DevOps. Misalnya: https://dev.azure.com/fabrikamfiber/.

Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
Ya
System.TeamProject Nama proyek yang berisi build ini. Ya
System.TeamProjectId ID proyek tempat build ini berada. Ya
System.TimelineId Pengidentifikasi berbasis string untuk detail eksekusi dan log dari satu eksekusi alur. No
TF_BUILD Atur ke True jika skrip sedang dijalankan oleh tugas build.

Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
No

Memeriksa variabel (Layanan DevOps)

Variabel Deskripsi
Checks.StageAttempt Atur ke 1 saat pertama kali tahap ini dicoba, dan kenaikan setiap kali tahap dicoba kembali.

Variabel ini hanya dapat digunakan dalam persetujuan atau memeriksa lingkungan. Misalnya, Anda dapat menggunakan $(Checks.StageAttempt) dalam pemeriksaan Invoke REST API.

Tambahkan upaya tahap sebagai parameter.

Variabel agen (DevOps Server 2022)

Catatan

Anda dapat menggunakan variabel agen sebagai variabel lingkungan dalam skrip Anda dan sebagai parameter dalam tugas build Anda. Anda tidak dapat menggunakannya untuk menyesuaikan nomor build atau menerapkan label atau tag kontrol versi.

Variabel Deskripsi
Agent.BuildDirectory Jalur lokal pada agen tempat semua folder untuk alur build tertentu dibuat. Variabel ini memiliki nilai yang sama dengan Pipeline.Workspace. Misalnya: /home/vsts/work/1.
Agent.ContainerMapping Pemetaan dari nama sumber daya kontainer di YAML ke ID Docker mereka saat runtime. Contoh mengikuti tabel.
Agent.HomeDirectory Direktori tempat agen diinstal. Ini berisi perangkat lunak agen. Misalnya: c:\agent.
Agent.Id ID agen.
Agent.JobName Nama pekerjaan yang sedang berjalan. Ini biasanya akan menjadi "Pekerjaan" atau "__default", tetapi dalam skenario multi-konfigurasi, akan menjadi konfigurasi.
Agent.JobStatus Status build.
  • Canceled
  • Failed
  • Succeeded
  • SucceededWithIssues (sebagian berhasil)
  • Skipped (Pekerjaan terakhir)
Variabel lingkungan harus dirujuk sebagai AGENT_JOBSTATUS. Yang lebih agent.jobstatus lama tersedia untuk kompatibilitas mundur.
Agent.MachineName Nama komputer tempat agen diinstal.
Agent.Name Nama agen yang terdaftar di kumpulan.

Jika Anda menggunakan agen yang dihost sendiri, maka nama ini ditentukan oleh Anda. Lihat agen.
Agent.OS Sistem operasi host agen. Nilai yang valid adalah:
  • Windows_NT
  • Darwin
  • Linux
Jika Anda berjalan dalam kontainer, host agen dan kontainer mungkin menjalankan sistem operasi yang berbeda.
Agent.OSArchitecture Arsitektur prosesor sistem operasi host agen. Nilai yang valid adalah:
  • X86
  • X64
  • ARM
Agent.TempDirectory Folder sementara yang dibersihkan setelah setiap pekerjaan alur. Direktori ini digunakan oleh tugas seperti tugas .NET Core CLI untuk menyimpan item sementara seperti hasil pengujian sebelum diterbitkan.

Misalnya: /home/vsts/work/_temp untuk Ubuntu.
Agent.ToolsDirectory Direktori yang digunakan oleh tugas seperti Penginstal Alat Simpul dan Menggunakan Versi Python untuk beralih di antara beberapa versi alat.

Tugas-tugas ini menambahkan alat dari direktori ini sehingga PATH langkah-langkah build berikutnya dapat menggunakannya.

Pelajari tentang mengelola direktori ini pada agen yang dihost sendiri.
Agent.WorkFolder Direktori kerja untuk agen ini. Misalnya: c:\agent_work.

Catatan: Direktori ini tidak dijamin dapat ditulis oleh tugas alur (misalnya, saat dipetakan ke dalam kontainer).

Contoh Agent.ContainerMapping:

{
  "one_container": {
    "id": "bdbb357d73a0bd3550a1a5b778b62a4c88ed2051c7802a0659f1ff6e76910190"
  },
  "another_container": {
    "id": "82652975109ec494876a8ccbb875459c945982952e0a72ad74c91216707162bb"
  }
}

Variabel build (DevOps Server 2022)

Saat Anda menggunakan variabel dalam templat yang tidak ditandai sebagai tersedia dalam templat, variabel tidak akan dirender. Variabel tidak akan dirender karena nilainya tidak dapat diakses dalam cakupan templat.

Variabel Deskripsi Tersedia dalam templat?
Build.ArtifactStagingDirectory Jalur lokal pada agen tempat artefak apa pun disalin sebelum didorong ke tujuannya. Misalnya: c:\agent_work\1\a.

Cara umum untuk menggunakan folder ini adalah dengan menerbitkan artefak build Anda dengan tugas Salin file dan Terbitkan artefak build.

Catatan: Build.ArtifactStagingDirectory dan Build.StagingDirectory dapat dipertukarkan. Direktori ini dihapus menyeluruh sebelum setiap build baru, jadi Anda tidak perlu membersihkannya sendiri.

Lihat Artefak di Azure Pipelines.

Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
No
Build.BuildId ID rekaman untuk build yang telah selesai. No
Build.BuildNumber Nama build yang telah selesai, juga dikenal sebagai nomor eksekusi. Anda dapat menentukan apa yang disertakan dalam nilai ini.

Penggunaan umum variabel ini adalah menjadikannya bagian dari format label, yang Anda tentukan pada tab repositori.

Catatan: Nilai ini dapat berisi spasi kosong atau karakter label lain yang tidak valid. Dalam kasus ini, format label gagal.

Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
No
Build.BuildUri URI untuk build. Misalnya: vstfs:///Build/Build/1430.

Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
No
Build.BinariesDirectory Jalur lokal pada agen yang dapat Anda gunakan sebagai folder output untuk biner yang dikompilasi.

Secara default, alur build baru tidak disiapkan untuk membersihkan direktori ini. Anda dapat menentukan build Anda untuk membersihkannya di tab Repositori.

Misalnya: c:\agent_work\1\b.

Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
No
Build.ContainerId ID kontainer untuk artefak Anda. Saat Anda mengunggah artefak di alur Anda, artefak ditambahkan ke kontainer yang khusus untuk artefak tertentu. No
Build.CronSchedule.DisplayName Jadwal displayName cron yang memicu eksekusi alur. Variabel ini hanya diatur jika eksekusi alur dipicu oleh pemicu terjadwal YAML. Untuk informasi selengkapnya, lihat definisi schedules.cron - Variabel Build.CronSchedule.DisplayName. Variabel ini tersedia di Azure DevOps Server 2022.1 dan yang lebih tinggi. Ya
Build.DefinitionName Nama alur build.

Catatan: Nilai ini dapat berisi spasi kosong atau karakter label lain yang tidak valid. Dalam kasus ini, format label gagal.
Ya
Build.DefinitionVersion Versi alur build. Ya
Build.QueuedBy Lihat "Bagaimana variabel identitas diatur?".

Catatan: Nilai ini dapat berisi spasi kosong atau karakter label lain yang tidak valid. Dalam kasus ini, format label gagal.
Ya
Build.QueuedById Lihat "Bagaimana variabel identitas diatur?. Ya
Build.Reason Peristiwa yang menyebabkan build berjalan.
  • Manual: Pengguna secara manual mengantre build.
  • IndividualCI: Integrasi berkelanjutan (CI) yang dipicu oleh pendorongan Git atau check-in TFVC.
  • BatchedCI: Integrasi berkelanjutan (CI) yang dipicu oleh pendorongan Git atau check-in TFVC, dan perubahan Batch dipilih.
  • Schedule: Pemicu terjadwal .
  • ValidateShelveset: Pengguna secara manual mengantrekan build shelveset TFVC tertentu.
  • CheckInShelveset: Pemicu check-in terjaga.
  • PullRequest: Build dipicu oleh kebijakan cabang Git yang memerlukan build.
  • BuildCompletion: Build dipicu oleh build lain
  • ResourceTrigger: Build dipicu oleh pemicu sumber daya atau dipicu oleh build lain.
Lihat Membangun pemicu alur, Meningkatkan kualitas kode dengan kebijakan cabang.
Ya
Build.Repository.Clean Nilai yang Anda pilih untuk Bersihkan di pengaturan repositori sumber.

Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
No
Build.Repository.LocalPath Jalur lokal pada agen tempat file kode sumber Anda diunduh. Misalnya: c:\agent_work\1\s.

Secara default, alur build baru hanya memperbarui file yang diubah. Anda dapat mengubah cara file diunduh pada tab Repositori.

Catatan penting: Jika Anda hanya memeriksa satu repositori Git, jalur ini adalah jalur yang tepat ke kode. Jika Anda memeriksa beberapa repositori, perilakunya adalah sebagai berikut (dan mungkin berbeda dari nilai variabel Build.SourcesDirectory):
  • Jika langkah checkout untuk repositori mandiri (utama) tidak memiliki jalur checkout kustom yang ditentukan, atau jalur checkout adalah jalur $(Pipeline.Workspace)/s/<RepoName> default multi-checkout untuk repositori mandiri, nilai variabel ini kembali ke nilai defaultnya, yaitu $(Pipeline.Workspace)/s.
  • Jika langkah checkout untuk repositori mandiri (utama) memang memiliki jalur checkout kustom yang ditentukan (dan bukan jalur default multi-checkout-nya), variabel ini berisi jalur yang tepat ke repositori mandiri.
Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
No
Build.Repository.ID Pengidentifikasi unik repositori.

Ini tidak akan berubah, bahkan jika nama repositori tidak.

Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
No
Build.Repository.Name Nama repositori pemicu.

Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
No
Build.Repository.Provider Jenis repositori pemicu.
Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
No
Build.Repository.Tfvc.Workspace Ditentukan jika repositori Anda adalah Kontrol Versi Team Foundation. Nama ruang kerja TFVC yang digunakan oleh agen build.

Misalnya, jika Agent.BuildDirectory adalah c:\agent_work\12 dan Agent.Id adalah 8, nama ruang kerja bisa menjadi: ws_12_8.

Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
No
Build.Repository.Uri URL untuk repositori pemicu. Contohnya:Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi. No
Build.RequestedFor Lihat "Bagaimana variabel identitas diatur?".

Catatan: Nilai ini dapat berisi spasi kosong atau karakter label lain yang tidak valid. Dalam kasus ini, format label gagal.
Ya
Build.RequestedForEmail Lihat "Bagaimana variabel identitas diatur?". Ya
Build.RequestedForId Lihat "Bagaimana variabel identitas diatur?". Ya
Build.SourceBranch Cabang repositori pemicu build diantrekan. Beberapa contoh:
  • Cabang repositori Git: refs/heads/main
  • Permintaan pull repositori Git: refs/pull/1/merge
  • Cabang repositori TFVC: $/teamproject/main
  • Check-in terjaga dengan terjaganya repositori TFVC: Gated_2016-06-06_05.20.51.4369;username@live.com
  • Build shelveset repositori TFVC: myshelveset;username@live.com
  • Saat alur Anda dipicu oleh tag: refs/tags/your-tag-name
Saat Anda menggunakan variabel ini dalam format nomor build Anda, karakter/ garis miring () diganti dengan karakter _garis bawah ).

Catatan: Di TFVC, jika Anda menjalankan build check-in yang terjaga atau membangun shelveset secara manual, Anda tidak dapat menggunakan variabel ini dalam format nomor build Anda.
Ya
Build.SourceBranchName Nama cabang dalam repositori pemicu yang diantrekan build.
  • Cabang repositori Git, permintaan pull, atau tag: Segmen jalur terakhir di ref. Misalnya, dalam refs/heads/main nilai ini adalah main. Dalam refs/heads/feature/tools nilai ini adalah tools. Dalam refs/tags/your-tag-name nilai ini adalah your-tag-name.
  • Cabang repositori TFVC: Segmen jalur terakhir di jalur server akar untuk ruang kerja. Misalnya, dalam $/teamproject/main nilai ini adalah main.
  • TFVC repo gated check-in atau shelveset build adalah nama shelveset. Misalnya, Gated_2016-06-06_05.20.51.4369;username@live.com atau myshelveset;username@live.com.
Catatan: Di TFVC, jika Anda menjalankan build check-in yang terjaga atau membangun shelveset secara manual, Anda tidak dapat menggunakan variabel ini dalam format nomor build Anda.
Ya
Build.SourcesDirectory Jalur lokal pada agen tempat file kode sumber Anda diunduh. Misalnya: c:\agent_work\1\s.

Secara default, alur build baru hanya memperbarui file yang diubah.

Catatan penting: Jika Anda hanya memeriksa satu repositori Git, jalur ini adalah jalur yang tepat ke kode. Jika Anda memeriksa beberapa repositori, repositori tersebut kembali ke nilai defaultnya, yaitu $(Pipeline.Workspace)/s, bahkan jika repositori mandiri (utama) dicek keluar ke jalur kustom yang berbeda dari jalur $(Pipeline.Workspace)/s/<RepoName> default multi-checkout-nya (dalam hal ini, variabel berbeda dari perilaku variabel Build.Repository.LocalPath).

Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
No
Build.SourceVersion Perubahan kontrol versi terbaru dari repositori pemicu yang disertakan dalam build ini.
Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
Ya
Build.SourceVersionMessage Komentar penerapan atau set perubahan untuk repositori pemicu. Kami memotong pesan ke baris pertama atau 200 karakter, mana yang lebih pendek.

Sesuai Build.SourceVersionMessage dengan pesan pada Build.SourceVersion penerapan. Penerapan Build.SourceVersion untuk build PR adalah penerapan penggabungan (bukan penerapan pada cabang sumber).

Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.

Selain itu, variabel ini hanya tersedia pada tingkat langkah dan tidak tersedia dalam tingkat pekerjaan atau tahap (yaitu, pesan tidak diekstraksi sampai pekerjaan dimulai dan kode dicek keluar).

Catatan: Variabel ini tersedia di TFS 2015.4.

Catatan: Variabel Build.SourceVersionMessage tidak berfungsi dengan alur build klasik di repositori Bitbucket saat Batch berubah saat build sedang berlangsung diaktifkan.
No
Build.StagingDirectory Jalur lokal pada agen tempat artefak apa pun disalin sebelum didorong ke tujuannya. Misalnya: c:\agent_work\1\a.

Cara umum untuk menggunakan folder ini adalah dengan menerbitkan artefak build Anda dengan tugas Salin file dan Terbitkan artefak build.

Catatan: Build.ArtifactStagingDirectory dan Build.StagingDirectory dapat dipertukarkan. Direktori ini dihapus menyeluruh sebelum setiap build baru, jadi Anda tidak perlu membersihkannya sendiri.

Lihat Artefak di Azure Pipelines.

Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
No
Build.Repository.Git.SubmoduleCheckout Nilai yang Anda pilih untuk Submodul Checkout pada tab repositori. Dengan beberapa repos yang dicek keluar, nilai ini melacak pengaturan repositori pemicu.

Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
No
Build.SourceTfvcShelveset Ditentukan jika repositori Anda adalah Kontrol Versi Team Foundation.

Jika Anda menjalankan build terjaga atau build shelveset, ini diatur ke nama shelveset yang Anda bangun.

Catatan: Variabel ini menghasilkan nilai yang tidak valid untuk penggunaan build dalam format angka build.
No
Build.TriggeredBy.BuildId Jika build dipicu oleh build lain, maka variabel ini diatur ke BuildID dari build pemicu. Di alur Klasik, variabel ini dipicu oleh pemicu penyelesaian build.

Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.

Jika Anda memicu alur YAML menggunakan resources, Anda harus menggunakan variabel sumber daya sebagai gantinya.
No
Build.TriggeredBy.DefinitionId Jika build dipicu oleh build lain, maka variabel ini diatur ke DefinitionID dari build pemicu. Di alur Klasik, variabel ini dipicu oleh pemicu penyelesaian build.

Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.

Jika Anda memicu alur YAML menggunakan resources, Anda harus menggunakan variabel sumber daya sebagai gantinya.
No
Build.TriggeredBy.DefinitionName Jika build dipicu oleh build lain, maka variabel ini diatur ke nama alur build pemicu. Di alur Klasik, variabel ini dipicu oleh pemicu penyelesaian build.

Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.

Jika Anda memicu alur YAML menggunakan resources, Anda harus menggunakan variabel sumber daya sebagai gantinya.
No
Build.TriggeredBy.BuildNumber Jika build dipicu oleh build lain, maka variabel ini diatur ke jumlah build pemicu. Di alur Klasik, variabel ini dipicu oleh pemicu penyelesaian build.

Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.

Jika Anda memicu alur YAML menggunakan resources, Anda harus menggunakan variabel sumber daya sebagai gantinya.
No
Build.TriggeredBy.ProjectID Jika build dipicu oleh build lain, maka variabel ini diatur ke ID proyek yang berisi build pemicu. Di alur Klasik, variabel ini dipicu oleh pemicu penyelesaian build.

Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.

Jika Anda memicu alur YAML menggunakan resources, Anda harus menggunakan variabel sumber daya sebagai gantinya.
No
Common.TestResultsDirectory Jalur lokal pada agen tempat hasil pengujian dibuat. Misalnya: c:\agent_work\1\TestResults.

Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
No

Variabel alur (DevOps Server 2022)

Variabel Deskripsi
Pipeline.Workspace Direktori ruang kerja untuk alur tertentu. Variabel ini memiliki nilai yang sama dengan Agent.BuildDirectory. Contohnya,/home/vsts/work/1.

Tip

Jika Anda menggunakan alur rilis klasik, Anda dapat menggunakan rilis klasik dan variabel artefak untuk menyimpan dan mengakses data di seluruh alur Anda.

Variabel pekerjaan penyebaran (DevOps Server 2022)

Variabel ini dilingkup ke pekerjaan Penyebaran tertentu dan hanya akan diselesaikan pada waktu eksekusi pekerjaan.

Variabel Deskripsi
Environment.Name Nama lingkungan yang ditargetkan dalam pekerjaan penyebaran untuk menjalankan langkah-langkah penyebaran dan merekam riwayat penyebaran. Contohnya,smarthotel-dev.
Environment.Id ID lingkungan yang ditargetkan dalam pekerjaan penyebaran. Contohnya,10.
Environment.ResourceName Nama sumber daya tertentu dalam lingkungan yang ditargetkan dalam pekerjaan penyebaran untuk menjalankan langkah-langkah penyebaran dan merekam riwayat penyebaran. Misalnya, bookings yang merupakan namespace Layanan Kubernetes yang telah ditambahkan sebagai sumber daya ke lingkungan smarthotel-dev.
Environment.ResourceId ID sumber daya tertentu dalam lingkungan yang ditargetkan dalam pekerjaan penyebaran untuk menjalankan langkah-langkah penyebaran. Contohnya,4.
Strategy.Name Nama strategi penyebaran: canary, , runOnceatau rolling.
Strategy.CycleName Nama siklus saat ini dalam penyebaran. Opsinya adalah PreIteration, Iteration, atau PostIteration.

Variabel sistem (DevOps Server 2022)

Saat Anda menggunakan variabel dalam templat yang tidak ditandai sebagai tersedia dalam templat, variabel tidak akan dirender. Variabel tidak akan dirender karena nilainya tidak dapat diakses dalam cakupan templat.

Variabel Deskripsi Tersedia dalam templat?
System.AccessToken Gunakan token OAuth untuk mengakses REST API.

Gunakan System.AccessToken dari skrip YAML.

Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
Ya
System.CollectionId GUID koleksi TFS atau organisasi Azure DevOps. Ya
System.CollectionUri URI koleksi TFS atau organisasi Azure DevOps. Misalnya: https://dev.azure.com/fabrikamfiber/. Ya
System.DefaultWorkingDirectory Jalur lokal pada agen tempat file kode sumber Anda diunduh. Misalnya: c:\agent_work\1\s

Secara default, alur build baru hanya memperbarui file yang diubah. Anda dapat mengubah cara file diunduh pada tab Repositori.

Variabel ini terlingkup agen. Ini dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
Ya
System.DefinitionId ID alur build. Ya
System.HostType Atur ke build jika alur adalah build. Untuk rilis, nilainya adalah deployment untuk pekerjaan grup Penyebaran, gates selama evaluasi gerbang, dan release untuk pekerjaan (Agen dan Tanpa Agen) lainnya. Ya
System.JobAttempt Atur ke 1 saat pertama kali pekerjaan ini dicoba, dan kenaikan setiap kali pekerjaan dicoba kembali. No
System.JobDisplayName Nama yang dapat dibaca manusia diberikan pada pekerjaan. No
System.JobId Pengidentifikasi unik untuk satu upaya satu pekerjaan. Nilainya unik untuk alur saat ini. No
System.JobName Nama pekerjaan, biasanya digunakan untuk mengekspresikan dependensi dan mengakses variabel output. No
System.PhaseAttempt Atur ke 1 saat pertama kali fase ini dicoba, dan kenaikan setiap kali pekerjaan dicoba kembali.

Catatan: "Fase" adalah konsep yang sebagian besar berlebihan, yang mewakili waktu desain untuk pekerjaan (sedangkan pekerjaan adalah versi runtime fase). Kami sebagian besar telah menghapus konsep "fase" dari Azure Pipelines. Pekerjaan matriks dan multi-konfigurasi adalah satu-satunya tempat di mana "fase" masih berbeda dari "pekerjaan." Satu fase dapat membuat instans beberapa pekerjaan, yang hanya berbeda dalam input mereka.
No
System.PhaseDisplayName Nama yang dapat dibaca manusia diberikan pada fase. No
System.PhaseName Pengidentifikasi berbasis string untuk pekerjaan, biasanya digunakan untuk mengekspresikan dependensi dan mengakses variabel output. No
System.PlanId Pengidentifikasi berbasis string untuk satu eksekusi alur. No
System.PullRequest.IsFork Jika permintaan pull berasal dari fork repositori, variabel ini diatur ke True. Jika tidak, diatur ke False. Ya
System.PullRequest.PullRequestId ID permintaan pull yang menyebabkan build ini. Misalnya: 17. (Variabel ini diinisialisasi hanya jika build dijalankan karena Git PR yang terpengaruh oleh kebijakan cabang). No
System.PullRequest.PullRequestNumber Jumlah permintaan pull yang menyebabkan build ini. Variabel ini diisi untuk permintaan pull dari GitHub yang memiliki ID permintaan pull dan nomor permintaan pull yang berbeda. Variabel ini hanya tersedia dalam alur YAML jika PR dipengaruhi oleh kebijakan cabang. No
System.PullRequest.targetBranchName Nama cabang target untuk permintaan pull. Variabel ini dapat digunakan dalam alur untuk menjalankan tugas atau langkah-langkah secara kondisional berdasarkan cabang target permintaan pull. Misalnya, Anda mungkin ingin memicu serangkaian pengujian atau alat analisis kode yang berbeda tergantung pada cabang tempat perubahan digabungkan. No
System.PullRequest.SourceBranch Cabang yang sedang ditinjau dalam permintaan pull. Misalnya: refs/heads/users/raisa/new-feature untuk Azure Repos. (Variabel ini diinisialisasi hanya jika build dijalankan karena Git PR yang terpengaruh oleh kebijakan cabang). Variabel ini hanya tersedia dalam alur YAML jika PR dipengaruhi oleh kebijakan cabang. No
System.PullRequest.SourceRepositoryURI URL ke repositori yang berisi permintaan pull. Misalnya: https://dev.azure.com/ouraccount/_git/OurProject. No
System.PullRequest.TargetBranch Cabang yang merupakan target permintaan pull. Misalnya: refs/heads/main saat repositori Anda berada di Azure Repos dan main saat repositori Anda berada di GitHub. Variabel ini diinisialisasi hanya jika build berjalan karena Git PR yang terpengaruh oleh kebijakan cabang. Variabel ini hanya tersedia dalam alur YAML jika PR dipengaruhi oleh kebijakan cabang. No
System.StageAttempt Atur ke 1 saat pertama kali tahap ini dicoba, dan kenaikan setiap kali tahap dicoba kembali. No
System.StageDisplayName Nama yang dapat dibaca manusia diberikan ke tahap. No
System.StageName Pengidentifikasi berbasis string untuk tahap, biasanya digunakan untuk mengekspresikan dependensi dan mengakses variabel output. No
System.TeamFoundationCollectionUri URI koleksi TFS atau organisasi Azure DevOps. Misalnya: https://dev.azure.com/fabrikamfiber/.

Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
Ya
System.TeamProject Nama proyek yang berisi build ini. Ya
System.TeamProjectId ID proyek tempat build ini berada. Ya
System.TimelineId Pengidentifikasi berbasis string untuk detail eksekusi dan log dari satu eksekusi alur. No
TF_BUILD Atur ke True jika skrip sedang dijalankan oleh tugas build.

Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
No

Memeriksa variabel (DevOps Server 2022)

Variabel Deskripsi
Checks.StageAttempt Atur ke 1 saat pertama kali tahap ini dicoba, dan kenaikan setiap kali tahap dicoba kembali.
Variabel ini hanya dapat digunakan dalam persetujuan atau memeriksa lingkungan. Misalnya, Anda dapat menggunakan $(Checks.StageAttempt) dalam pemeriksaan Invoke REST API.
Tambahkan upaya tahap sebagai parameter.

Variabel agen (DevOps Server 2020)

Catatan

Anda dapat menggunakan variabel agen sebagai variabel lingkungan dalam skrip Anda dan sebagai parameter dalam tugas build Anda. Anda tidak dapat menggunakannya untuk menyesuaikan nomor build atau menerapkan label atau tag kontrol versi.

Variabel Deskripsi
Agent.BuildDirectory Jalur lokal pada agen tempat semua folder untuk alur build tertentu dibuat. Variabel ini memiliki nilai yang sama dengan Pipeline.Workspace. Misalnya: /home/vsts/work/1.
Agent.HomeDirectory Direktori tempat agen diinstal. Ini berisi perangkat lunak agen. Misalnya: c:\agent.
Agent.Id ID agen.
Agent.JobName Nama pekerjaan yang sedang berjalan. Ini biasanya akan menjadi "Pekerjaan" atau "__default", tetapi dalam skenario multi-konfigurasi, akan menjadi konfigurasi.
Agent.JobStatus Status build.
  • Canceled
  • Failed
  • Succeeded
  • SucceededWithIssues (sebagian berhasil)
  • Skipped (Pekerjaan terakhir)
Variabel lingkungan harus dirujuk sebagai AGENT_JOBSTATUS. Yang lebih agent.jobstatus lama tersedia untuk kompatibilitas mundur.
Agent.MachineName Nama komputer tempat agen diinstal.
Agent.Name Nama agen yang terdaftar di kumpulan.

Jika Anda menggunakan agen yang dihost sendiri, maka nama ini akan ditetapkan oleh Anda. Lihat agen.
Agent.OS Sistem operasi host agen. Nilai yang valid adalah:
  • Windows_NT
  • Darwin
  • Linux
Jika Anda berjalan dalam kontainer, host agen dan kontainer mungkin menjalankan sistem operasi yang berbeda.
Agent.OSArchitecture Arsitektur prosesor sistem operasi host agen. Nilai yang valid adalah:
  • X86
  • X64
  • ARM processor
Agent.TempDirectory Folder sementara yang dibersihkan setelah setiap pekerjaan alur. Direktori ini digunakan oleh tugas seperti tugas .NET Core CLI untuk menyimpan item sementara seperti hasil pengujian sebelum diterbitkan.
Misalnya: /home/vsts/work/_temp untuk Ubuntu.
Agent.ToolsDirectory Direktori yang digunakan oleh tugas seperti Penginstal Alat Simpul dan Menggunakan Versi Python untuk beralih di antara beberapa versi alat.

Tugas-tugas ini menambahkan alat dari direktori ini sehingga PATH langkah-langkah build berikutnya dapat menggunakannya.

Pelajari tentang mengelola direktori ini pada agen yang dihost sendiri.
Agent.WorkFolder Direktori kerja untuk agen ini. Misalnya: c:\agent_work.

Catatan: Direktori ini tidak dijamin dapat ditulis oleh tugas alur (misalnya, saat dipetakan ke dalam kontainer)

Variabel build (DevOps Server 2020)

Saat Anda menggunakan variabel dalam templat yang tidak ditandai sebagai tersedia dalam templat, variabel tidak akan dirender. Variabel tidak akan dirender karena nilainya tidak dapat diakses dalam cakupan templat.

Variabel Deskripsi Tersedia dalam templat?
Build.ArtifactStagingDirectory Jalur lokal pada agen tempat artefak apa pun disalin sebelum didorong ke tujuannya. Misalnya: c:\agent_work\1\a.

Cara umum untuk menggunakan folder ini adalah dengan menerbitkan artefak build Anda dengan tugas Salin file dan Terbitkan artefak build.

Catatan: Build.ArtifactStagingDirectory dan Build.StagingDirectory dapat dipertukarkan. Direktori ini dihapus menyeluruh sebelum setiap build baru, jadi Anda tidak perlu membersihkannya sendiri.

Lihat Artefak di Azure Pipelines.

Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
No
Build.BuildId ID rekaman untuk build yang telah selesai. No
Build.BuildNumber Nama build yang telah selesai, juga dikenal sebagai nomor eksekusi. Anda dapat menentukan apa yang disertakan dalam nilai ini.

Penggunaan umum variabel ini adalah menjadikannya bagian dari format label, yang Anda tentukan pada tab repositori.

Catatan: Nilai ini dapat berisi spasi kosong atau karakter label lain yang tidak valid. Dalam kasus ini, format label gagal.

Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
No
Build.BuildUri URI untuk build. Misalnya: vstfs:///Build/Build/1430.

Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
No
Build.BinariesDirectory Jalur lokal pada agen yang dapat Anda gunakan sebagai folder output untuk biner yang dikompilasi.

Secara default, alur build baru tidak disiapkan untuk membersihkan direktori ini. Anda dapat menentukan build Anda untuk membersihkannya di tab Repositori.

Misalnya: c:\agent_work\1\b.

Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
No
Build.ContainerId ID kontainer untuk artefak Anda. Saat Anda mengunggah artefak di alur Anda, artefak ditambahkan ke kontainer yang khusus untuk artefak tertentu. No
Build.DefinitionName Nama alur build.

Catatan: Nilai ini dapat berisi spasi kosong atau karakter label lain yang tidak valid. Dalam kasus ini, format label akan gagal.
Ya
Build.DefinitionVersion Versi alur build. Ya
Build.QueuedBy Lihat "Bagaimana variabel identitas diatur?".

Catatan: Nilai ini dapat berisi spasi kosong atau karakter label lain yang tidak valid. Dalam kasus ini, format label gagal.
Ya
Build.QueuedById Lihat "Bagaimana variabel identitas diatur?". Ya
Build.Reason Peristiwa yang menyebabkan build berjalan.
  • Manual: Pengguna secara manual mengantre build.
  • IndividualCI: Integrasi berkelanjutan (CI) yang dipicu oleh pendorongan Git atau check-in TFVC.
  • BatchedCI: Integrasi berkelanjutan (CI) yang dipicu oleh pendorongan Git atau check-in TFVC, dan perubahan Batch dipilih.
  • Schedule: Pemicu terjadwal .
  • ValidateShelveset: Pengguna secara manual mengantrekan build shelveset TFVC tertentu.
  • CheckInShelveset: Pemicu check-in terjaga.
  • PullRequest: Build dipicu oleh kebijakan cabang Git yang memerlukan build.
  • BuildCompletion: Build dipicu oleh build lain
  • ResourceTrigger: Build dipicu oleh pemicu sumber daya atau dipicu oleh build lain.
Lihat Membangun pemicu alur, Meningkatkan kualitas kode dengan kebijakan cabang.
Ya
Build.Repository.Clean Nilai yang Anda pilih untuk Bersihkan di pengaturan repositori sumber.

Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
No
Build.Repository.LocalPath Jalur lokal pada agen tempat file kode sumber Anda diunduh. Misalnya: c:\agent_work\1\s.

Secara default, alur build baru hanya memperbarui file yang diubah. Anda dapat mengubah cara file diunduh pada tab Repositori.

Catatan penting: Jika Anda hanya memeriksa satu repositori Git, jalur ini akan menjadi jalur yang tepat untuk kode.

Jika Anda memeriksa beberapa repositori, perilakunya adalah sebagai berikut (dan mungkin berbeda dari nilai variabel Build.SourcesDirectory):
  • Jika langkah checkout untuk repositori mandiri (utama) tidak memiliki jalur checkout kustom yang ditentukan, atau jalur checkout adalah jalur $(Pipeline.Workspace)/s/&lt;RepoName&gt; default multi-checkout untuk repositori mandiri, nilai variabel ini akan kembali ke nilai defaultnya, yaitu $(Pipeline.Workspace)/s.
  • Jika langkah checkout untuk repositori mandiri (utama) memang memiliki jalur checkout kustom yang ditentukan (dan bukan jalur default multi-checkout-nya), variabel ini akan berisi jalur yang tepat ke repositori mandiri.
Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
No
Build.Repository.ID Pengidentifikasi unik repositori.

Ini tidak akan berubah, bahkan jika nama repositori tidak.

Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
No
Build.Repository.Name Nama repositori pemicu.

Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
No
Build.Repository.Provider Jenis repositori pemicu.
Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
No
Build.Repository.Tfvc.Workspace Ditentukan jika repositori Anda adalah Kontrol Versi Team Foundation. Nama ruang kerja TFVC yang digunakan oleh agen build.

Misalnya, jika Agent.BuildDirectory adalah c:\agent_work\12 dan Agent.Id adalah 8, nama ruang kerja bisa menjadi: ws_12_8.

Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
No
Build.Repository.Uri URL untuk repositori pemicu. Contohnya:
Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
No
Build.RequestedFor Lihat "Bagaimana variabel identitas diatur?".

Catatan: Nilai ini dapat berisi spasi kosong atau karakter label lain yang tidak valid. Dalam kasus ini, format label gagal.
Ya
Build.RequestedForEmail Lihat "Bagaimana variabel identitas diatur?". Ya
Build.RequestedForId Lihat "Bagaimana variabel identitas diatur?". Ya
Build.SourceBranch Cabang repositori pemicu build diantrekan. Beberapa contoh:
  • Cabang repositori Git: refs/heads/main
  • Permintaan pull repositori Git: refs/pull/1/merge
  • Cabang repositori TFVC: $/teamproject/main
  • Check-in terjaga dengan terjaganya repositori TFVC: Gated_2016-06-06_05.20.51.4369;username@live.com
  • Build shelveset repositori TFVC: myshelveset;username@live.com
  • Saat alur Anda dipicu oleh tag: refs/tags/your-tag-name
Saat Anda menggunakan variabel ini dalam format nomor build Anda, karakter/ garis miring () diganti dengan karakter _garis bawah ).

Catatan: Di TFVC, jika Anda menjalankan build check-in terjaga atau membangun shelveset secara manual, Anda tidak dapat menggunakan variabel ini dalam format nomor build Anda.
Ya
Build.SourceBranchName Nama cabang dalam repositori pemicu yang diantrekan build.
  • Cabang repositori Git, permintaan pull, atau tag: Segmen jalur terakhir di ref. Misalnya, dalam refs/heads/main nilai ini adalah main. Dalam refs/heads/feature/tools nilai ini adalah tools. Dalam refs/tags/your-tag-name nilai ini adalah your-tag-name.
  • Cabang repositori TFVC: Segmen jalur terakhir di jalur server akar untuk ruang kerja. Misalnya, dalam $/teamproject/main nilai ini adalah main.
  • TFVC repo gated check-in atau shelveset build adalah nama shelveset. Misalnya, Gated_2016-06-06_05.20.51.4369;username@live.com atau myshelveset;username@live.com.
Catatan: Di TFVC, jika Anda menjalankan build check-in yang terjaga atau membangun shelveset secara manual, Anda tidak dapat menggunakan variabel ini dalam format nomor build Anda.
Ya
Build.SourcesDirectory Jalur lokal pada agen tempat file kode sumber Anda diunduh. Misalnya: c:\agent_work\1\s.

Secara default, alur build baru hanya memperbarui file yang diubah.

Catatan penting: Jika Anda hanya memeriksa satu repositori Git, jalur ini adalah jalur yang tepat ke kode. Jika Anda memeriksa beberapa repositori, repositori tersebut kembali ke nilai defaultnya, yaitu $(Pipeline.Workspace)/s, bahkan jika repositori mandiri (utama) dicek keluar ke jalur kustom yang berbeda dari jalur $(Pipeline.Workspace)/s/<RepoName> default multi-checkout-nya (dalam hal ini, variabel berbeda dari perilaku variabel Build.Repository.LocalPath).

Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
No
Build.SourceVersion Perubahan kontrol versi terbaru dari repositori pemicu yang disertakan dalam build ini.
Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
Ya
Build.SourceVersionMessage Komentar penerapan atau set perubahan untuk repositori pemicu. Kami memotong pesan ke baris pertama atau 200 karakter, mana yang lebih pendek.

Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.

Selain itu, variabel ini hanya tersedia pada tingkat langkah dan tidak tersedia dalam tingkat pekerjaan atau tahap (yaitu, pesan tidak diekstraksi sampai pekerjaan telah dimulai dan memeriksa kode).

Catatan: Variabel ini tersedia di TFS 2015.4.

Catatan: Variabel Build.SourceVersionMessage tidak berfungsi dengan alur build klasik di repositori Bitbucket saat Batch berubah saat build sedang berlangsung diaktifkan.
No
Build.StagingDirectory Jalur lokal pada agen tempat artefak apa pun disalin sebelum didorong ke tujuannya. Misalnya: c:\agent_work\1\a.

Cara umum untuk menggunakan folder ini adalah dengan menerbitkan artefak build Anda dengan tugas Salin file dan Terbitkan artefak build.

Catatan: Build.ArtifactStagingDirectory dan Build.StagingDirectory dapat dipertukarkan. Direktori ini dihapus menyeluruh sebelum setiap build baru, jadi Anda tidak perlu membersihkannya sendiri.

Lihat Artefak di Azure Pipelines.

Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
No
Build.Repository.Git.SubmoduleCheckout Nilai yang Anda pilih untuk Submodul Checkout pada tab repositori. Dengan beberapa repos yang dicek keluar, nilai ini melacak pengaturan repositori pemicu.

Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
No
Build.SourceTfvcShelveset Ditentukan jika repositori Anda adalah Kontrol Versi Team Foundation.

Jika Anda menjalankan build terjaga atau build shelveset, ini diatur ke nama shelveset yang Anda bangun.

Catatan: Variabel ini menghasilkan nilai yang tidak valid untuk penggunaan build dalam format angka build.
No
Build.TriggeredBy.BuildId Jika build dipicu oleh build lain, maka variabel ini diatur ke BuildID dari build pemicu. Di alur Klasik, variabel ini dipicu oleh pemicu penyelesaian build.

Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
No
Build.TriggeredBy.DefinitionId Jika build dipicu oleh build lain, maka variabel ini diatur ke DefinitionID dari build pemicu. Di alur Klasik, variabel ini dipicu oleh pemicu penyelesaian build.

Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
No
Build.TriggeredBy.DefinitionName Jika build dipicu oleh build lain, maka variabel ini diatur ke nama alur build pemicu. Di alur Klasik, variabel ini dipicu oleh pemicu penyelesaian build.

Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
No
Build.TriggeredBy.BuildNumber Jika build dipicu oleh build lain, maka variabel ini diatur ke jumlah build pemicu. Di alur Klasik, variabel ini dipicu oleh pemicu penyelesaian build.

Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
No
Build.TriggeredBy.ProjectID Jika build dipicu oleh build lain, maka variabel ini diatur ke ID proyek yang berisi build pemicu. Di alur Klasik, variabel ini dipicu oleh pemicu penyelesaian build.

Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
No
Common.TestResultsDirectory Jalur lokal pada agen tempat hasil pengujian dibuat. Misalnya: c:\agent_work\1\TestResults.

Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
No

Variabel alur (DevOps Server 2020)

Variabel Deskripsi
Pipeline.Workspace Direktori ruang kerja untuk alur tertentu. Variabel ini memiliki nilai yang sama dengan Agent.BuildDirectory. Contohnya,/home/vsts/work/1.

Variabel pekerjaan penyebaran (DevOps Server 2020)

Variabel ini dilingkup ke pekerjaan Penyebaran tertentu dan hanya akan diselesaikan pada waktu eksekusi pekerjaan.

Variabel Deskripsi
Environment.Name Nama lingkungan yang ditargetkan dalam pekerjaan penyebaran untuk menjalankan langkah-langkah penyebaran dan merekam riwayat penyebaran. Contohnya,smarthotel-dev.
Environment.Id ID lingkungan yang ditargetkan dalam pekerjaan penyebaran. Contohnya,10.
Environment.ResourceName Nama sumber daya tertentu dalam lingkungan yang ditargetkan dalam pekerjaan penyebaran untuk menjalankan langkah-langkah penyebaran dan merekam riwayat penyebaran. Misalnya, bookings yang merupakan namespace Layanan Kubernetes yang telah ditambahkan sebagai sumber daya ke lingkungan smarthotel-dev.
Environment.ResourceId ID sumber daya tertentu dalam lingkungan yang ditargetkan dalam pekerjaan penyebaran untuk menjalankan langkah-langkah penyebaran. Contohnya,4.

Variabel sistem (DevOps Server 2020)

Saat Anda menggunakan variabel dalam templat yang tidak ditandai sebagai tersedia dalam templat, variabel tidak akan dirender. Variabel tidak akan dirender karena nilainya tidak dapat diakses dalam cakupan templat.

Variabel Deskripsi Tersedia dalam templat?
System.AccessToken Gunakan token OAuth untuk mengakses REST API.

Gunakan System.AccessToken dari skrip YAML.

Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
Ya
System.CollectionId GUID koleksi TFS atau organisasi Azure DevOps Ya
System.CollectionUri String URI koleksi Team Foundation Server. Ya
System.DefaultWorkingDirectory Jalur lokal pada agen tempat file kode sumber Anda diunduh. Misalnya: c:\agent_work\1\s

Secara default, alur build baru hanya memperbarui file yang diubah. Anda dapat mengubah cara file diunduh pada tab Repositori.

Variabel ini terlingkup agen. Ini dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
No
System.DefinitionId ID alur build. Ya
System.HostType Atur ke build jika alur adalah build. Untuk rilis, nilainya adalah deployment untuk pekerjaan grup Penyebaran, gates selama evaluasi gerbang, dan release untuk pekerjaan (Agen dan Tanpa Agen) lainnya. Ya
System.JobAttempt Atur ke 1 saat pertama kali pekerjaan ini dicoba, dan kenaikan setiap kali pekerjaan dicoba kembali. No
System.JobDisplayName Nama yang dapat dibaca manusia diberikan pada pekerjaan. No
System.JobId Pengidentifikasi unik untuk satu upaya satu pekerjaan. Nilainya unik untuk alur saat ini. No
System.JobName Nama pekerjaan, biasanya digunakan untuk mengekspresikan dependensi dan mengakses variabel output. No
System.PhaseAttempt Atur ke 1 saat pertama kali fase ini dicoba, dan kenaikan setiap kali pekerjaan dicoba kembali.

Catatan: "Fase" adalah konsep yang sebagian besar berlebihan, yang mewakili waktu desain untuk pekerjaan (sedangkan pekerjaan adalah versi runtime fase). Kami sebagian besar telah menghapus konsep "fase" dari Azure Pipelines. Pekerjaan matriks dan multi-konfigurasi adalah satu-satunya tempat di mana "fase" masih berbeda dari "pekerjaan". Satu fase dapat membuat instans beberapa pekerjaan, yang hanya berbeda dalam input mereka.
No
System.PhaseDisplayName Nama yang dapat dibaca manusia diberikan pada fase. No
System.PhaseName Pengidentifikasi berbasis string untuk pekerjaan, biasanya digunakan untuk mengekspresikan dependensi dan mengakses variabel output. No
System.StageAttempt Atur ke 1 saat pertama kali tahap ini dicoba, dan kenaikan setiap kali pekerjaan dicoba kembali. No
System.StageDisplayName Nama yang dapat dibaca manusia diberikan ke tahap. No
System.StageName Pengidentifikasi berbasis string untuk tahap, biasanya digunakan untuk mengekspresikan dependensi dan mengakses variabel output. Ya
System.PullRequest.IsFork Jika permintaan pull berasal dari fork repositori, variabel ini diatur ke True. Jika tidak, diatur ke False. Ya
System.PullRequest.PullRequestId ID permintaan pull yang menyebabkan build ini. Misalnya: 17. (Variabel ini diinisialisasi hanya jika build dijalankan karena Git PR yang terpengaruh oleh kebijakan cabang). No
System.PullRequest.PullRequestNumber Jumlah permintaan pull yang menyebabkan build ini. Variabel ini diisi untuk permintaan pull dari GitHub yang memiliki ID permintaan pull yang berbeda dan nomor permintaan pull. Variabel ini hanya tersedia dalam alur YAML jika PR dipengaruhi oleh kebijakan cabang. No
System.PullRequest.targetBranchName Nama cabang target untuk permintaan pull. Variabel ini dapat digunakan dalam alur untuk menjalankan tugas atau langkah-langkah secara kondisional berdasarkan cabang target permintaan pull. Misalnya, Anda mungkin ingin memicu serangkaian pengujian atau alat analisis kode yang berbeda tergantung pada cabang tempat perubahan digabungkan. No
System.PullRequest.SourceBranch Cabang yang sedang ditinjau dalam permintaan pull. Misalnya: refs/heads/users/raisa/new-feature. (Variabel ini diinisialisasi hanya jika build dijalankan karena Git PR yang terpengaruh oleh kebijakan cabang). Variabel ini hanya tersedia dalam alur YAML jika PR dipengaruhi oleh kebijakan cabang. No
System.PullRequest.SourceCommitId Penerapan yang sedang ditinjau dalam permintaan pull. (Variabel ini diinisialisasi hanya jika build dijalankan karena Git PR yang terpengaruh oleh kebijakan cabang). Variabel ini hanya tersedia dalam alur YAML jika PR dipengaruhi oleh kebijakan cabang.
System.PullRequest.SourceRepositoryURI URL ke repositori yang berisi permintaan pull. Misalnya: https://dev.azure.com/ouraccount/_git/OurProject. No
System.PullRequest.TargetBranch Cabang yang merupakan target permintaan pull. Misalnya: refs/heads/main saat repositori Anda berada di Azure Repos dan main saat repositori Anda berada di GitHub. Variabel ini diinisialisasi hanya jika build berjalan karena Git PR yang terpengaruh oleh kebijakan cabang. Variabel ini hanya tersedia dalam alur YAML jika PR dipengaruhi oleh kebijakan cabang. No
System.TeamFoundationCollectionUri URI koleksi yayasan tim. Misalnya: https://dev.azure.com/fabrikamfiber/.

Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
Ya
System.TeamProject Nama proyek yang berisi build ini. Ya
System.TeamProjectId ID proyek tempat build ini berada. Ya
TF_BUILD Atur ke True jika skrip sedang dijalankan oleh tugas build.

Variabel ini dicakup agen, dan dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
No

Variabel agen (DevOps Server 2019)

Catatan

Anda dapat menggunakan variabel agen sebagai variabel lingkungan dalam skrip Anda dan sebagai parameter dalam tugas build Anda. Anda tidak dapat menggunakannya untuk menyesuaikan nomor build atau menerapkan label atau tag kontrol versi.

Variabel Deskripsi
Agent.BuildDirectory Jalur lokal pada agen tempat semua folder untuk alur build tertentu dibuat. Misalnya: c:\agent_work\1.
Agent.HomeDirectory Direktori tempat agen diinstal. Ini berisi perangkat lunak agen. Misalnya: c:\agent.
Agent.Id ID agen.
Agent.JobName Nama pekerjaan yang sedang berjalan. Ini biasanya akan menjadi "Pekerjaan" atau "__default", tetapi dalam skenario multi-konfigurasi, akan menjadi konfigurasi.
Agent.JobStatus Status build.
  • Canceled
  • Failed
  • Succeeded
  • SucceededWithIssues (sebagian berhasil)
  • Skipped (Pekerjaan terakhir)
Variabel lingkungan harus dirujuk sebagai AGENT_JOBSTATUS. Yang lebih agent.jobstatus lama tersedia untuk kompatibilitas mundur.
Agent.MachineName Nama komputer tempat agen diinstal.
Agent.Name Nama agen yang terdaftar di kumpulan.

Jika Anda menggunakan agen yang dihost sendiri, maka nama ini ditetapkan oleh Anda. Lihat agen.
Agent.OS Sistem operasi host agen. Nilai yang valid adalah:
  • Windows_NT
  • Darwin
  • Linux
Jika Anda berjalan dalam kontainer, host agen dan kontainer mungkin menjalankan sistem operasi yang berbeda.
Agent.OSArchitecture Arsitektur prosesor sistem operasi host agen. Nilai yang valid adalah:
  • X86
  • X64
  • ARM processor
Agent.TempDirectory Folder sementara yang dibersihkan setelah setiap pekerjaan alur. Direktori ini digunakan oleh tugas seperti tugas .NET Core CLI untuk menyimpan item sementara seperti hasil pengujian sebelum diterbitkan.
Agent.ToolsDirectory Direktori yang digunakan oleh tugas seperti Penginstal Alat Simpul dan Menggunakan Versi Python untuk beralih di antara beberapa versi alat.

Tugas-tugas ini menambahkan alat dari direktori ini sehingga PATH langkah-langkah build berikutnya dapat menggunakannya.

Pelajari tentang mengelola direktori ini pada agen yang dihost sendiri.
Agent.WorkFolder Direktori kerja untuk agen ini. Misalnya: c:\agent_work.

Direktori ini tidak dijamin dapat ditulis oleh tugas alur (misalnya, ketika dipetakan ke dalam kontainer).

Variabel build (DevOps Server 2019)

Variabel Deskripsi
Build.ArtifactStagingDirectory Jalur lokal pada agen tempat artefak apa pun disalin sebelum didorong ke tujuannya. Misalnya: c:\agent_work\1\a.

Cara umum untuk menggunakan folder ini adalah dengan menerbitkan artefak build Anda dengan tugas Salin file dan Terbitkan artefak build.

Catatan: Build.ArtifactStagingDirectory dan Build.StagingDirectory dapat dipertukarkan. Direktori ini dihapus menyeluruh sebelum setiap build baru, jadi Anda tidak perlu membersihkannya sendiri.

Lihat Artefak di Azure Pipelines.

Variabel ini terlingkup agen. Ini dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
Build.BuildId ID rekaman untuk build yang telah selesai.
Build.BuildNumber Nama build yang telah selesai. Anda dapat menentukan format nomor build yang menghasilkan nilai ini dalam opsi alur.

Penggunaan umum variabel ini adalah menjadikannya bagian dari format label, yang Anda tentukan pada tab repositori.

Catatan: Nilai ini dapat berisi spasi kosong atau karakter label lain yang tidak valid. Dalam kasus ini, format label gagal.

Variabel ini terlingkup agen. Ini dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
Build.BuildUri URI untuk build. Misalnya: vstfs:///Build/Build/1430.

Variabel ini terlingkup agen. Ini dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
Build.BinariesDirectory Jalur lokal pada agen yang dapat Anda gunakan sebagai folder output untuk biner yang dikompilasi.

Secara default, alur build baru tidak disiapkan untuk membersihkan direktori ini. Anda dapat menentukan build Anda untuk membersihkannya di tab Repositori.

Misalnya: c:\agent_work\1\b.

Variabel ini terlingkup agen. Ini dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
Build.DefinitionName Nama alur build.

Catatan: Nilai ini dapat berisi spasi kosong atau karakter label lain yang tidak valid. Dalam kasus ini, format label akan gagal.
Build.DefinitionVersion Versi alur build.
Build.QueuedBy Lihat "Bagaimana variabel identitas diatur?".

Catatan: Nilai ini dapat berisi spasi kosong atau karakter label lain yang tidak valid. Dalam kasus ini, format label gagal.
Build.QueuedById Lihat "Bagaimana variabel identitas diatur?".
Build.Reason Peristiwa yang menyebabkan build berjalan.
  • Manual: Pengguna secara manual mengantre build.
  • IndividualCI: Integrasi berkelanjutan (CI) yang dipicu oleh pendorongan Git atau check-in TFVC.
  • BatchedCI: Integrasi berkelanjutan (CI) yang dipicu oleh pendorongan Git atau check-in TFVC, dan perubahan Batch dipilih.
  • Schedule: Pemicu terjadwal .
  • ValidateShelveset: Pengguna secara manual mengantrekan build shelveset TFVC tertentu.
  • CheckInShelveset: Pemicu check-in terjaga.
  • PullRequest: Build dipicu oleh kebijakan cabang Git yang memerlukan build.
  • BuildCompletion: Build dipicu oleh build lain.
Lihat Membangun pemicu alur, Meningkatkan kualitas kode dengan kebijakan cabang.
Build.Repository.Clean Nilai yang Anda pilih untuk Bersihkan di pengaturan repositori sumber.

Variabel ini terlingkup agen. Ini dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
Build.Repository.LocalPath Jalur lokal pada agen tempat file kode sumber Anda diunduh. Misalnya: c:\agent_work\1\s

Secara default, alur build baru hanya memperbarui file yang diubah. Anda dapat mengubah cara file diunduh pada tab Repositori.

Variabel ini terlingkup agen. Ini dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.

Variabel ini identik dengan Build.SourcesDirectory.
Build.Repository.Name Nama repositori.

Variabel ini terlingkup agen. Ini dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
Build.Repository.Provider Jenis repositori yang Anda pilih.
Variabel ini terlingkup agen. Ini dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
Build.Repository.Tfvc.Workspace Ditentukan jika repositori Anda adalah Kontrol Versi Team Foundation. Nama ruang kerja TFVC yang digunakan oleh agen build.

Misalnya, jika Agent.BuildDirectory adalah c:\agent_work\12 dan Agent.Id adalah 8, nama ruang kerja bisa menjadi: ws_12_8.

Variabel ini terlingkup agen. Ini dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
Build.Repository.Uri URL untuk repositori. Contohnya:
Variabel ini terlingkup agen. Ini dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
Build.RequestedFor Lihat "Bagaimana variabel identitas diatur?".

Catatan: Nilai ini dapat berisi spasi kosong atau karakter label lain yang tidak valid. Dalam kasus ini, format label gagal.
Build.RequestedForEmail Lihat "Bagaimana variabel identitas diatur?".
Build.RequestedForId Lihat "Bagaimana variabel identitas diatur?".
Build.SourceBranch Cabang tempat build diantrekan. Beberapa contoh:
  • Cabang repositori Git: refs/heads/main
  • Permintaan pull repositori Git: refs/pull/1/merge
  • Cabang repositori TFVC: $/teamproject/main
  • Check-in terjaga dengan terjaganya repositori TFVC: Gated_2016-06-06_05.20.51.4369;username@live.com
  • Build shelveset repositori TFVC: myshelveset;username@live.com
Saat Anda menggunakan variabel ini dalam format nomor build, karakter/ garis miring () diganti dengan karakter garis bawah (_).

Catatan: Di TFVC, jika Anda menjalankan build check-in yang terjaga atau membangun shelveset secara manual, Anda tidak dapat menggunakan variabel ini dalam format nomor build Anda.
Build.SourceBranchName Nama cabang tempat build diantrekan.
  • Cabang repositori Git, permintaan pull, atau tag: Segmen jalur terakhir di ref. Misalnya, dalam refs/heads/main nilai ini adalah main. Dalam refs/heads/feature/tools nilai ini adalah tools. Dalam refs/tags/your-tag-name nilai ini adalah your-tag-name.
  • Cabang repositori TFVC: Segmen jalur terakhir di jalur server akar untuk ruang kerja. Misalnya dalam $/teamproject/main nilai ini adalah main.
  • TFVC repo gated check-in atau shelveset build adalah nama shelveset. Misalnya, Gated_2016-06-06_05.20.51.4369;username@live.com atau myshelveset;username@live.com.
Catatan: Di TFVC, jika Anda menjalankan build check-in yang terjaga atau membangun shelveset secara manual, Anda tidak dapat menggunakan variabel ini dalam format nomor build Anda.
Build.SourcesDirectory Jalur lokal pada agen tempat file kode sumber Anda diunduh. Misalnya: c:\agent_work\1\s.

Secara default, alur build baru hanya memperbarui file yang diubah. Anda dapat mengubah cara file diunduh pada tab Repositori.

Variabel ini terlingkup agen. Ini dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.

Variabel ini identik dengan Build.Repository.LocalPath.
Build.SourceVersion Perubahan kontrol versi terbaru yang disertakan dalam build ini.
Variabel ini terlingkup agen. Ini dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
Build.SourceVersionMessage Komentar penerapan atau set perubahan. Kami memotong pesan ke baris pertama atau 200 karakter, mana yang lebih pendek.

Variabel ini terlingkup agen. Ini dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.

Catatan: Variabel ini tersedia di TFS 2015.4.

Catatan: Variabel Build.SourceVersionMessage tidak berfungsi dengan alur build klasik di repositori Bitbucket saat Batch berubah saat build sedang berlangsung diaktifkan.
Build.StagingDirectory Jalur lokal pada agen tempat artefak apa pun disalin sebelum didorong ke tujuannya. Misalnya: c:\agent_work\1\a.

Cara umum untuk menggunakan folder ini adalah dengan menerbitkan artefak build Anda dengan tugas Salin file dan Terbitkan artefak build.

Catatan: Build.ArtifactStagingDirectory dan Build.StagingDirectory dapat dipertukarkan. Direktori ini dihapus menyeluruh sebelum setiap build baru, jadi Anda tidak perlu membersihkannya sendiri.

Lihat Artefak di Azure Pipelines.

Variabel ini terlingkup agen. Ini dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
Build.Repository.Git.SubmoduleCheckout Nilai yang Anda pilih untuk Submodul Checkout pada tab repositori.

Variabel ini terlingkup agen. Ini dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
Build.SourceTfvcShelveset Ditentukan jika repositori Anda adalah Kontrol Versi Team Foundation.

Jika Anda menjalankan build terjaga atau build shelveset, ini diatur ke nama shelveset yang Anda bangun.

Catatan: Variabel ini menghasilkan nilai yang tidak valid untuk penggunaan build dalam format angka build.
Build.TriggeredBy.BuildId Jika build dipicu oleh build lain, maka variabel ini diatur ke BuildID dari build pemicu.

Variabel ini terlingkup agen. Ini dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
Build.TriggeredBy.DefinitionId Jika build dipicu oleh build lain, maka variabel ini diatur ke DefinitionID dari build pemicu.

Variabel ini terlingkup agen. Ini dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
Build.TriggeredBy.DefinitionName Jika build dipicu oleh build lain, maka variabel ini diatur ke nama alur build pemicu.

Variabel ini terlingkup agen. Ini dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
Build.TriggeredBy.BuildNumber Jika build dipicu oleh build lain, maka variabel ini diatur ke jumlah build pemicu.

Variabel ini terlingkup agen. Ini dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
Build.TriggeredBy.ProjectID Jika build dipicu oleh build lain, maka variabel ini diatur ke ID proyek yang berisi build pemicu.

Variabel ini terlingkup agen. Ini dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
Common.TestResultsDirectory Jalur lokal pada agen tempat hasil pengujian dibuat. Misalnya: c:\agent_work\1\TestResults.

Variabel ini terlingkup agen. Ini dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.

Variabel sistem (DevOps Server 2019)

Contoh skrip PowerShell: mengakses REST API

Variabel Deskripsi
System.AccessToken Gunakan token OAuth untuk mengakses REST API.

Gunakan System.AccessToken dari skrip YAML.

Variabel ini terlingkup agen. Ini dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
System.CollectionId GUID koleksi TFS atau organisasi Azure DevOps
System.DefaultWorkingDirectory Jalur lokal pada agen tempat file kode sumber Anda diunduh. Misalnya: c:\agent_work\1\s

Secara default, alur build baru hanya memperbarui file yang diubah. Anda dapat mengubah cara file diunduh pada tab Repositori.

Variabel ini terlingkup agen. Ini dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
System.DefinitionId ID alur build.
System.HostType Atur ke build jika alur adalah build. Untuk rilis, nilainya adalah deployment untuk pekerjaan grup Penyebaran dan release untuk pekerjaan Agen.
System.PullRequest.IsFork Jika permintaan pull berasal dari fork repositori, variabel ini diatur ke True. Jika tidak, diatur ke False.
System.PullRequest.PullRequestId ID permintaan pull yang menyebabkan build ini. Misalnya: 17. (Variabel ini diinisialisasi hanya jika build dijalankan karena Git PR yang terpengaruh oleh kebijakan cabang.)
System.PullRequest.PullRequestNumber Jumlah permintaan pull yang menyebabkan build ini. Variabel ini diisi untuk permintaan pull dari GitHub, yang memiliki ID permintaan pull dan nomor permintaan pull yang berbeda.
System.PullRequest.SourceBranch Cabang yang sedang ditinjau dalam permintaan pull. Misalnya: refs/heads/users/raisa/new-feature. (Variabel ini diinisialisasi hanya jika build dijalankan karena Git PR yang terpengaruh oleh kebijakan cabang.)
System.PullRequest.SourceCommitId Penerapan yang sedang ditinjau dalam permintaan pull. (Variabel ini diinisialisasi hanya jika build dijalankan karena Git PR yang terpengaruh oleh kebijakan cabang.)
System.PullRequest.SourceRepositoryURI URL ke repositori yang berisi permintaan pull. Misalnya: https://dev.azure.com/ouraccount/_git/OurProject. (Variabel ini diinisialisasi hanya jika build dijalankan karena Azure Repos Git PR yang terpengaruh oleh kebijakan cabang. Ini tidak diinisialisasi untuk PR GitHub.)
System.PullRequest.TargetBranch Cabang yang merupakan target permintaan pull. Misalnya: refs/heads/main. Variabel ini diinisialisasi hanya jika build berjalan karena Git PR yang terpengaruh oleh kebijakan cabang.
System.TeamFoundationCollectionUri URI koleksi yayasan tim. Misalnya: https://dev.azure.com/fabrikamfiber/.

Variabel ini terlingkup agen. Ini dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.
System.TeamProject Nama proyek yang berisi build ini.
System.TeamProjectId ID proyek tempat build ini berada.
TF_BUILD Atur ke True jika skrip sedang dijalankan oleh tugas build.

Variabel ini terlingkup agen. Ini dapat digunakan sebagai variabel lingkungan dalam skrip dan sebagai parameter dalam tugas build, tetapi bukan sebagai bagian dari nomor build atau sebagai tag kontrol versi.

Bagaimana variabel identitas ditetapkan?

Nilai tergantung pada apa yang menyebabkan build dan khusus untuk repositori Azure Repos.

Jika build dipicu... Kemudian nilai Build.QueuedBy dan Build.QueuedById didasarkan pada... Kemudian nilai Build.RequestedFor dan Build.RequestedForId didasarkan pada...
Di Git atau oleh pemicu Integrasi berkelanjutan (CI) Identitas sistem, misalnya: [DefaultCollection]\Project Collection Service Accounts Orang yang mendorong atau memeriksa perubahan.
Di Git atau oleh build kebijakan cabang. Identitas sistem, misalnya: [DefaultCollection]\Project Collection Service Accounts Orang yang memeriksa perubahan.
Di TFVC dengan pemicu check-in yang terjaga Orang yang memeriksa perubahan. Orang yang memeriksa perubahan.
Di Git atau TFVC oleh pemicu Terjadwal Identitas sistem, misalnya: [DefaultCollection]\Project Collection Service Accounts Identitas sistem, misalnya: [DefaultCollection]\Project Collection Service Accounts
Karena Anda mengklik tombol build Antrean Anda Anda