CopyFiles@2 - Dosyaları kopyalama v2 görevi
Eşleştirme desenlerini kullanarak kaynak klasörden hedef klasöre dosya kopyalamak için bu görevi kullanın. (Eşleştirme desenleri yalnızca dosya yollarıyla eşleşecek, klasör yollarıyla eşleşmeyecek).
Syntax
# 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.
# Copy Files v2
# Copy files from source folder to target folder using match patterns (The match patterns will only match 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.
Girişler
SourceFolder
- Kaynak Klasör
string
.
İsteğe bağlı. Kopyalamak istediğiniz dosyaları içeren klasör. Klasör boşsa, görev deponun kök klasöründeki dosyaları sanki belirtilmiş gibi $(Build.SourcesDirectory)
kopyalar.
Derlemeniz sources dizini dışında yapıtlar oluşturuyorsa, işlem hattı için oluşturulan dizinden dosyaları kopyalamak için öğesini belirtin $(Agent.BuildDirectory)
.
Contents
- Içeriği
string
. Gereklidir. Varsayılan değer: **
.
Kopyanın bir parçası olarak eklenecek dosya yolları. Bu dize, birden çok eşleşme deseni çizgisini destekler.
Örnek:
*
belirtilen kaynak klasördeki tüm dosyaları kopyalar.**
belirtilen kaynak klasördeki tüm dosyaları ve tüm alt klasörlerdeki tüm dosyaları kopyalar.**\bin\**
tüm dosyaları herhangi bir depo kutusu klasöründen özyinelemeli olarak kopyalar.
Desen, klasör yollarını değil, yalnızca dosya yollarını eşleştirmek için kullanılır. yerine desenleri **\bin\**
**\bin
belirtin.
Derleme aracısı türünüzle eşleşen yol ayırıcısını kullanın. Örneğin, /
Linux aracıları için kullanılmalıdır. Aşağıda daha fazla örnek gösterilmiştir.
TargetFolder
- Hedef Klasör
string
. Gereklidir.
Kopyalanan dosyaları içerecek hedef klasör veya UNC yolu. Değişkenleri kullanabilirsiniz. Örnek: $(build.artifactstagingdirectory)
.
CleanTargetFolder
- Hedef Klasörü Temizle
boolean
. Varsayılan değer: false
.
İsteğe bağlı. Kopyalama işleminden önce hedef klasördeki tüm mevcut dosyaları siler.
OverWrite
- Üzerine
boolean
. Varsayılan değer: false
.
İsteğe bağlı. Hedef klasördeki mevcut dosyaların yerini alır.
flattenFolders
- Klasörleri Düzleştirme
boolean
. Varsayılan değer: false
.
İsteğe bağlı. Klasör yapısını düzleştirir ve tüm dosyaları belirtilen hedef klasöre kopyalar.
preserveTimestamp
- Hedef Zaman Damgasını Koru
boolean
. Varsayılan değer: false
.
Özgün kaynak dosyayı kullanarak hedef dosya zaman damgasını korur.
retryCount
- Dosyayı kopyalamak için yeniden deneme sayısı
string
. Varsayılan değer: 0
.
Dosyayı kopyalamak için yeniden deneme sayısını belirtir. Bu dize, uzak konakta UNC hedef yolları gibi aralıklı sorunlar için kullanışlıdır.
delayBetweenRetries
- İki yeniden deneme arasındaki gecikme.
string
. Varsayılan değer: 1000
.
İki yeniden deneme arasındaki gecikmeyi belirtir. Bu dize, uzak konakta UNC hedef yolları gibi aralıklı sorunlar için kullanışlıdır.
ignoreMakeDirErrors
- Hedef klasör oluşturma sırasında hataları yoksayın.
boolean
. Varsayılan değer: false
.
Hedef klasör oluşturulurken oluşan hataları yoksayar. Bu dize, görevlerin tek bir hedef klasör içindeki çeşitli aracılar tarafından paralel yürütülmesiyle ilgili sorunları önlemek için yararlıdır.
Görev denetim seçenekleri
Tüm görevlerde görev girişlerine ek olarak denetim seçenekleri vardır. Daha fazla bilgi için bkz . Denetim seçenekleri ve ortak görev özellikleri.
Çıkış değişkenleri
Yok.
Açıklamalar
Eşleşen dosya yoksa, görev yine de başarıyı bildirir.
- ise
Overwrite
false
ve hedef klasörde eşleşen bir dosya zaten varsa, görev hata bildirmez ancak dosyanın zaten var olduğunu günlüğe kaydeder ve atlar. - hedef
Overwrite
klasörde isetrue
ve eşleşen bir dosya zaten varsa, eşleşen dosyanın üzerine yazılır.
Örnekler
Dosyayı yapıt hazırlama dizinine kopyalama ve yayımlama
steps:
- task: CopyFiles@2
inputs:
contents: '_buildOutput/**'
targetFolder: $(Build.ArtifactStagingDirectory)
- task: PublishBuildArtifacts@1
inputs:
pathToPublish: $(Build.ArtifactStagingDirectory)
artifactName: MyBuildOutputs
Yürütülebilir dosyaları ve benioku dosyasını kopyalama
Hedef
Yalnızca benioku dosyasını ve bu C# konsol uygulamasını çalıştırmak için gereken dosyaları kopyalamak istiyorsunuz:
`-- ConsoleApplication1
|-- ConsoleApplication1.sln
|-- readme.txt
`-- ClassLibrary1
|-- ClassLibrary1.csproj
`-- ClassLibrary2
|-- ClassLibrary2.csproj
`-- ConsoleApplication1
|-- ConsoleApplication1.csproj
Not
ConsoleApplication1.sln , .dll ve .exe dosyaları içeren bir bölme klasörü içerir. Neyin taşındığını görmek için aşağıdaki Sonuçlar'a bakın!
Değişkenler sekmesinde olarak $(BuildConfiguration)
ayarlanır release
.
Birden çok eşleşme deseni içeren örnek:
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)'
OR koşuluna sahip örnek:
steps:
- task: CopyFiles@2
displayName: 'Copy Files to: $(Build.ArtifactStagingDirectory)'
inputs:
Contents: |
ConsoleApplication1\ConsoleApplication1\bin\**\?(*.exe|*.dll)
ConsoleApplication1\readme.txt
TargetFolder: '$(Build.ArtifactStagingDirectory)'
NOT koşulu içeren örnek:
steps:
- task: CopyFiles@2
displayName: 'Copy Files to: $(Build.ArtifactStagingDirectory)'
inputs:
Contents: |
ConsoleApplication1\**\bin\**\!(*.pdb|*.config)
!ConsoleApplication1\**\ClassLibrary*\**
ConsoleApplication1\readme.txt
TargetFolder: '$(Build.ArtifactStagingDirectory)'
İçerik bölümündeki değişkenleri içeren örnek
- task: CopyFiles@2
inputs:
Contents: '$(Build.Repository.LocalPath)/**'
TargetFolder: '$(Build.ArtifactStagingDirectory)'
Sonuçlar
Bu dosyalar hazırlama dizinine kopyalanır:
`-- ConsoleApplication1
|-- readme.txt
`-- ConsoleApplication1
`-- bin
`-- Release
| -- ClassLibrary1.dll
| -- ClassLibrary2.dll
| -- ConsoleApplication1.exe
.git klasörü dışındaki her şeyi kaynak dizinden kopyalayın
Birden çok eşleşme deseni içeren örnek:
steps:
- task: CopyFiles@2
displayName: 'Copy Files to: $(Build.ArtifactStagingDirectory)'
inputs:
SourceFolder: '$(Build.SourcesDirectory)'
Contents: |
**/*
!.git/**/*
TargetFolder: '$(Build.ArtifactStagingDirectory)'
Gereksinimler
Gereksinim | Açıklama |
---|---|
İşlem hattı türleri | YAML, Klasik derleme |
Üzerinde çalışır | Agent, DeploymentGroup |
Talep | Hiçbiri |
Özellikler | Bu görev, işteki sonraki görevler için hiçbir talebi karşılamaz. |
Komut kısıtlamaları | Bu görev aşağıdaki komut kısıtlamaları kullanılarak çalıştırılır: kısıtlı |
Ayarlanabilir değişkenler | Bu görevin şu değişkenleri ayarlama izni var: Değişkenleri ayarlama devre dışı |
Aracı sürümü | 2.182.1 veya üzeri |
Görev kategorisi | Yardımcı Program |
Gereksinim | Açıklama |
---|---|
İşlem hattı türleri | YAML, Klasik derleme |
Üzerinde çalışır | Agent, DeploymentGroup |
Talep | Hiçbiri |
Özellikler | Bu görev, işteki sonraki görevler için hiçbir talebi karşılamaz. |
Komut kısıtlamaları | Herhangi biri |
Ayarlanabilir değişkenler | Herhangi biri |
Aracı sürümü | 1.91.0 veya üzeri |
Görev kategorisi | Yardımcı Program |