Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Gunakan tugas ini untuk menyalin file dari folder sumber ke folder target menggunakan pola pencocokan. (Pola kecocokan hanya akan cocok dengan jalur file, bukan jalur folder).
Sintaksis
# Copy files v2
# Copy files from a source folder to a target folder using patterns matching file paths (not folder paths).
- task: CopyFiles@2
inputs:
#SourceFolder: # string. Source Folder.
Contents: '**' # string. Required. Contents. Default: **.
TargetFolder: # string. Required. Target Folder.
# Advanced
#CleanTargetFolder: false # boolean. Clean Target Folder. Default: false.
#OverWrite: false # boolean. Overwrite. Default: false.
#flattenFolders: false # boolean. Flatten Folders. Default: false.
#preserveTimestamp: false # boolean. Preserve Target Timestamp. Default: false.
#retryCount: '0' # string. Retry count to copy the file. Default: 0.
#delayBetweenRetries: '1000' # string. Delay between two retries. Default: 1000.
#ignoreMakeDirErrors: false # boolean. Ignore errors during creation of target folder. Default: false.
# Copy files v2
# Copy files from a source folder to a target folder using patterns matching file paths (not folder paths).
- task: CopyFiles@2
inputs:
#SourceFolder: # string. Source Folder.
Contents: '**' # string. Required. Contents. Default: **.
TargetFolder: # string. Required. Target Folder.
# Advanced
#CleanTargetFolder: false # boolean. Clean Target Folder. Default: false.
#OverWrite: false # boolean. Overwrite. Default: false.
#flattenFolders: false # boolean. Flatten Folders. Default: false.
#preserveTimestamp: false # boolean. Preserve Target Timestamp. Default: false.
Masukan
Folder Sumber SourceFolder
-
string
.
Fakultatif. Folder yang berisi file yang ingin Anda salin. Jika folder kosong, maka tugas menyalin file dari folder akar repositori seolah-olah $(Build.SourcesDirectory)
ditentukan.
Jika build Anda menghasilkan artefak di luar direktori sumber, tentukan $(Agent.BuildDirectory)
untuk menyalin file dari direktori yang dibuat untuk alur.
Konten Contents
-
string
. Dibutuhkan. Nilai default: **
.
Jalur file yang akan disertakan sebagai bagian dari salinan. String ini mendukung beberapa baris pola pencocokan.
Contohnya:
-
*
menyalin semua file dalam folder sumber yang ditentukan. -
**
menyalin semua file di folder sumber yang ditentukan dan semua file di semua sub-folder. -
**\bin\**
menyalin semua file secara rekursif dari folder bin apa pun.
Pola digunakan untuk mencocokkan hanya jalur file, bukan jalur folder. Tentukan pola, seperti **\bin\**
alih-alih **\bin
.
Membungkus karakter khusus dalam []
dapat digunakan untuk melepaskan karakter glob harfiah dalam nama file. Misalnya nama file harfiah hello[a-z]
dapat diloloskan sebagai hello[[]a-z]
. Untuk informasi selengkapnya, lihat referensi pola pencocokan file .
Gunakan pemisah jalur yang cocok dengan jenis agen build Anda. Misalnya, /
harus digunakan untuk agen Linux. Contoh lainnya ditunjukkan di bawah ini.
Folder Target TargetFolder
-
string
. Dibutuhkan.
Folder target atau jalur UNC yang akan berisi file yang disalin. Anda dapat menggunakan variabel . Contoh: $(build.artifactstagingdirectory)
.
Bersihkan Folder Target CleanTargetFolder
-
boolean
. Nilai default: false
.
Fakultatif. Menghapus semua file yang ada di folder target sebelum proses penyalinan.
OverWrite
-
Timpa
boolean
. Nilai default: false
.
Fakultatif. Menggantikan file yang ada di folder target.
flattenFolders
-
Meratakan Folder
boolean
. Nilai default: false
.
Fakultatif. Meratakan struktur folder dan menyalin semua file ke dalam folder target yang ditentukan.
preserveTimestamp
-
Pertahankan Stempel Waktu Target
boolean
. Nilai default: false
.
Mempertahankan stempel waktu file target dengan menggunakan file sumber asli.
retryCount
-
Hitungan coba lagi untuk menyalin file
string
. Nilai default: 0
.
Menentukan jumlah percobaan ulang untuk menyalin file. String ini berguna untuk masalah terputus-putus, seperti jalur target UNC pada host jarak jauh.
delayBetweenRetries
-
Penundaan antara dua percobaan ulang.
string
. Nilai default: 1000
.
Menentukan penundaan antara dua percobaan ulang. String ini berguna untuk masalah terputus-putus, seperti jalur target UNC pada host jarak jauh.
ignoreMakeDirErrors
-
Abaikan kesalahan selama pembuatan folder target.
boolean
. Nilai default: false
.
Mengabaikan kesalahan yang terjadi selama pembuatan folder target. String ini berguna untuk menghindari masalah dengan eksekusi tugas paralel oleh beberapa agen dalam satu folder target.
Opsi kontrol tugas
Semua tugas memiliki opsi kontrol selain input tugasnya. Untuk informasi selengkapnya, lihat opsi Kontrol dan properti tugas umum.
Variabel-variabel keluaran
Tidak ada.
Komentar
Jika tidak ada file yang cocok, tugas akan tetap melaporkan keberhasilan.
- Jika
Overwrite
adalahfalse
dan file yang cocok sudah ada di folder target, tugas tidak akan melaporkan kegagalan tetapi mencatat bahwa file sudah ada dan melewatinya. - Jika
Overwrite
adalahtrue
dan file yang cocok sudah ada di folder target, file yang cocok akan ditimpa.
Contoh
Salin file ke direktori pementasan artefak dan publikasikan
steps:
- task: CopyFiles@2
inputs:
contents: '_buildOutput/**'
targetFolder: $(Build.ArtifactStagingDirectory)
- task: PublishBuildArtifacts@1
inputs:
pathToPublish: $(Build.ArtifactStagingDirectory)
artifactName: MyBuildOutputs
Salin executable dan file readme
Maksud
Anda hanya ingin menyalin readme dan file yang diperlukan untuk menjalankan aplikasi konsol C# ini:
`-- ConsoleApplication1
|-- ConsoleApplication1.sln
|-- readme.txt
`-- ClassLibrary1
|-- ClassLibrary1.csproj
`-- ClassLibrary2
|-- ClassLibrary2.csproj
`-- ConsoleApplication1
|-- ConsoleApplication1.csproj
Nota
ConsoleApplication1.sln berisi folder bin dengan file .dll dan .exe, lihat Hasil di bawah ini untuk melihat apa yang dipindahkan!
Pada tab Variabel, $(BuildConfiguration)
diatur ke release
.
Contoh dengan beberapa pola pencocokan:
steps:
- task: CopyFiles@2
displayName: 'Copy Files to: $(Build.ArtifactStagingDirectory)'
inputs:
Contents: |
ConsoleApplication1\ConsoleApplication1\bin\**\*.exe
ConsoleApplication1\ConsoleApplication1\bin\**\*.dll
ConsoleApplication1\readme.txt
TargetFolder: '$(Build.ArtifactStagingDirectory)'
Contoh dengan kondisi OR:
steps:
- task: CopyFiles@2
displayName: 'Copy Files to: $(Build.ArtifactStagingDirectory)'
inputs:
Contents: |
ConsoleApplication1\ConsoleApplication1\bin\**\?(*.exe|*.dll)
ConsoleApplication1\readme.txt
TargetFolder: '$(Build.ArtifactStagingDirectory)'
Contoh dengan kondisi NOT:
steps:
- task: CopyFiles@2
displayName: 'Copy Files to: $(Build.ArtifactStagingDirectory)'
inputs:
Contents: |
ConsoleApplication1\**\bin\**\!(*.pdb|*.config)
!ConsoleApplication1\**\ClassLibrary*\**
ConsoleApplication1\readme.txt
TargetFolder: '$(Build.ArtifactStagingDirectory)'
Contoh dengan variabel di bagian konten
- task: CopyFiles@2
inputs:
Contents: '$(Build.Repository.LocalPath)/**'
TargetFolder: '$(Build.ArtifactStagingDirectory)'
Hasil
File-file ini disalin ke direktori pementasan:
`-- ConsoleApplication1
|-- readme.txt
`-- ConsoleApplication1
`-- bin
`-- Release
| -- ClassLibrary1.dll
| -- ClassLibrary2.dll
| -- ConsoleApplication1.exe
Salin semuanya dari direktori sumber kecuali folder .git
Contoh dengan beberapa pola pencocokan:
steps:
- task: CopyFiles@2
displayName: 'Copy Files to: $(Build.ArtifactStagingDirectory)'
inputs:
SourceFolder: '$(Build.SourcesDirectory)'
Contents: |
**/*
!.git/**/*
TargetFolder: '$(Build.ArtifactStagingDirectory)'
Persyaratan
Persyaratan | Deskripsi |
---|---|
Jenis alur | YAML, Build klasik |
Berjalan pada | Agen, DeploymentGroup |
Tuntutan | Tidak ada |
Kemampuan | Tugas ini tidak memenuhi tuntutan apa pun untuk tugas berikutnya dalam pekerjaan. |
pembatasan Perintah |
Tugas ini berjalan menggunakan batasan perintah berikut: dibatasi |
variabel yang Dapat Diatur |
Tugas ini memiliki izin untuk mengatur variabel berikut: Pengaturan variabel dinonaktifkan |
Versi agen | 2.182.1 atau lebih tinggi |
Kategori tugas | Utilitas |
Persyaratan | Deskripsi |
---|---|
Jenis alur | YAML, Build klasik |
Berjalan pada | Agen, DeploymentGroup |
Tuntutan | Tidak ada |
Kemampuan | Tugas ini tidak memenuhi tuntutan apa pun untuk tugas berikutnya dalam pekerjaan. |
pembatasan Perintah |
Apa saja |
variabel yang Dapat Diatur |
Apa saja |
Versi agen | 1.91.0 atau lebih tinggi |
Kategori tugas | Utilitas |
Lihat juga
- Referensi pola pencocokan file
- Bagaimana cara menggunakan tugas ini untuk menerbitkan artefak
- Pelajari cara menggunakan log verbose untuk pemecahan masalah .