PublishPipelineArtifact@1 - Menerbitkan tugas Artefak Alur v1
Gunakan tugas ini untuk menerbitkan (mengunggah) file atau direktori sebagai artefak bernama untuk eksekusi saat ini.
Gunakan tugas ini untuk menerbitkan (mengunggah) file atau direktori sebagai artefak bernama untuk eksekusi saat ini.
Penting
Tugas ini hanya didukung di Azure DevOps Services. Jika Anda menggunakannya di Azure DevOps Server, Anda akan menerima pesan kesalahan yang mirip Pipeline Artifact Task is not supported in on-premises. Please use Build Artifact Task instead.
dengan Gunakan Terbitkan Artefak Build jika Anda menggunakan Azure DevOps Server atau TFS 2018.
Sintaks
# Publish Pipeline Artifacts v1
# Publish (upload) a file or directory as a named artifact for the current run.
- task: PublishPipelineArtifact@1
inputs:
targetPath: '$(Pipeline.Workspace)' # string. Alias: path. Required. File or directory path. Default: $(Pipeline.Workspace).
#artifact: # string. Alias: artifactName. Artifact name.
publishLocation: 'pipeline' # 'pipeline' | 'filepath'. Alias: artifactType. Required. Artifact publish location. Default: pipeline.
#fileSharePath: # string. Required when artifactType = filepath. File share path.
#parallel: false # boolean. Optional. Use when artifactType = filepath. Parallel copy. Default: false.
#parallelCount: '8' # string. Optional. Use when artifactType = filepath && parallel = true. Parallel count. Default: 8.
#properties: # string. Custom properties.
# Publish Pipeline Artifacts v1
# Publish (upload) a file or directory as a named artifact for the current run.
- task: PublishPipelineArtifact@1
inputs:
targetPath: '$(Pipeline.Workspace)' # string. Alias: path. Required. File or directory path. Default: $(Pipeline.Workspace).
#artifact: # string. Alias: artifactName. Artifact name.
publishLocation: 'pipeline' # 'pipeline' | 'filepath'. Alias: artifactType. Required. Artifact publish location. Default: pipeline.
#fileSharePath: # string. Required when artifactType = filepath. File share path.
#parallel: false # boolean. Optional. Use when artifactType = filepath. Parallel copy. Default: false.
#parallelCount: '8' # string. Optional. Use when artifactType = filepath && parallel = true. Parallel count. Default: 8.
Input
targetPath
- Jalur file atau direktori
Alias input: path
. string
. Wajib diisi. Nilai default: $(Pipeline.Workspace)
.
Menentukan jalur file atau direktori yang akan diterbitkan. Dapat bersifat absolut atau relatif terhadap direktori kerja default. Dapat menyertakan variabel, tetapi kartubebas tidak didukung. Lihat Artefak di Azure Pipelines untuk informasi selengkapnya.
artifact
- Nama artefak
Alias input: artifactName
. string
.
Menentukan nama artefak yang akan diterbitkan. Ini bisa berupa nama apa pun yang Anda pilih, misalnya drop
. Jika tidak diatur, defaultnya adalah ID unik yang dilingkup ke pekerjaan.
Penting
Nama artefak tidak boleh berisi \
, , /
, "
, <
:
, >
, |
, *
, atau ?
.
publishLocation
- Lokasi penerbitan artefak
Alias input: artifactType
. string
. Wajib diisi. Nilai yang diizinkan: pipeline
(Azure Pipelines), filepath
(Berbagi file). Nilai default: pipeline
.
Menentukan apakah akan menyimpan artefak di Azure Pipelines atau menyalinnya ke berbagi file yang harus dapat diakses dari agen alur.
fileSharePath
- Jalur berbagi file
string
. Diperlukan saat artifactType = filepath
.
Menentukan berbagi file tempat file artefak disalin. Ini dapat mencakup variabel, misalnya \\my\\share\\$(Build.DefinitionName)\\$(Build.BuildNumber)
. Menerbitkan artefak dari agen Linux atau macOS ke berbagi file tidak didukung, misalnya \\server\folderName
.
parallel
- Salinan paralel
boolean
. Pilihan. Gunakan saat artifactType = filepath
. Nilai default: false
.
Menentukan apakah akan menyalin file secara paralel menggunakan beberapa utas untuk throughput potensial yang lebih besar. Jika pengaturan ini tidak diaktifkan, satu utas akan digunakan.
parallelCount
- Jumlah paralel
string
. Pilihan. Gunakan saat artifactType = filepath && parallel = true
. Nilai default: 8
.
Menentukan tingkat paralelisme, atau jumlah utas yang digunakan, untuk melakukan penyalinan. Nilai harus antara 1 dan 128.
properties
- Properti kustom
string
.
Menentukan properti kustom untuk dikaitkan dengan artefak. Gunakan string JSON yang valid dengan awalan user-
pada semua kunci.
Opsi kontrol tugas
Semua tugas memiliki opsi kontrol selain input tugas mereka. Untuk informasi selengkapnya, lihat Opsi kontrol dan properti tugas umum.
Variabel output
Tidak ada.
Keterangan
Penerbitan tidak didukung dalam alur rilis klasik.
Catatan
Publikasikan Artefak Alur tidak didukung di lokal. Silakan gunakan Terbitkan Artefak Build jika Anda menggunakan Azure DevOps Server atau TFS 2018. Jika Anda menggunakannya di Azure DevOps Server, Anda akan menerima pesan kesalahan yang mirip Pipeline Artifact Task is not supported in on-premises. Please use Build Artifact Task instead.
dengan .
Kata publish
kunci dan download
adalah pintasan untuk tugas PublishPipelineArtifact@1 dan DownloadPipelineArtifact@2. Lihat steps.publish dan steps.download untuk detail selengkapnya.
Tip
Anda dapat menggunakan file .artifactignore untuk mengontrol file mana yang akan diterbitkan.
Saya mengalami masalah dengan menerbitkan artefak saya. Bagaimana cara melihat log terperinci?
Untuk mengaktifkan log terperinci untuk alur Anda:
- Edit alur Anda dan pilih Variabel
- Menambahkan variabel baru dengan nama
System.Debug
dan nilaitrue
- Simpan
Variabel mana yang tersedia untuk saya?
A: $(Build.SourcesDirectory)
dan $(Agent.BuildDirectory)
hanya beberapa variabel yang dapat Anda gunakan dalam alur Anda. Variabel tersedia sebagai ekspresi atau skrip.
Lihat Menentukan variabel, variabel yang telah ditentukan sebelumnya, dan variabel rilis dan artefak Klasik untuk mempelajari tentang berbagai jenis variabel.
Tugas ini memungkinkan saya menerbitkan artefak dalam pekerjaan penyebaran dalam alur yaml, tetapi saya tidak dapat menggunakannya dalam alur hilir?
J: Pekerjaan penyebaran tidak memiliki konteks cabang sumber dan karenanya tidak sesuai untuk menerbitkan artefak. Mereka terutama dirancang untuk mengkonsumsi artefak. Solusinya adalah mengisolasi logika tersebut ke dalam pekerjaan terpisah (dengan dependensi pada pekerjaan penyebaran Anda).
Persyaratan
Persyaratan | Deskripsi |
---|---|
Jenis alur | YAML, Build klasik, Rilis klasik |
Berjalan pada | Agen, DeploymentGroup |
Permintaan | Tidak ada |
Kemampuan | Tugas ini tidak memenuhi tuntutan apa pun untuk tugas berikutnya dalam pekerjaan. |
Pembatasan perintah | Apa pun |
Variabel yang dapat diatur | Apa pun |
Versi agen | 2.199.0 atau lebih tinggi |
Kategori tugas | Utilitas |
Persyaratan | Deskripsi |
---|---|
Jenis alur | YAML, Build klasik, Rilis klasik |
Berjalan pada | Agen, DeploymentGroup |
Permintaan | Tidak ada |
Kemampuan | Tugas ini tidak memenuhi tuntutan untuk tugas berikutnya dalam pekerjaan. |
Pembatasan perintah | Apa pun |
Variabel yang dapat diatur | Apa pun |
Versi agen | 2.199 atau lebih tinggi |
Kategori tugas | Utilitas |
Persyaratan | Deskripsi |
---|---|
Jenis alur | YAML, Build klasik, Rilis klasik |
Berjalan pada | Agen, DeploymentGroup |
Permintaan | Tidak ada |
Kemampuan | Tugas ini tidak memenuhi tuntutan untuk tugas berikutnya dalam pekerjaan. |
Pembatasan perintah | Apa pun |
Variabel yang dapat diatur | Apa pun |
Versi agen | 2.159.2 atau lebih tinggi |
Kategori tugas | Utilitas |
Lihat juga
- Ingin memulai dengan artefak build? Lihat Artefak di Azure Pipelines.