Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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).
Sözdizimi
# 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.
Girişler
kaynak klasörSourceFolder
-
string
.
Opsiyonel. Kopyalamak istediğiniz dosyaları içeren klasör. Klasör boşsa, görev deponun kök klasöründeki dosyaları $(Build.SourcesDirectory)
belirtilmiş gibi kopyalar.
Derlemeniz sources dizini dışında yapıtlar oluşturuyorsa, işlem hattı için oluşturulan dizinden dosya kopyalamak için $(Agent.BuildDirectory)
belirtin.
Contents
-
İçeriği
string
. Gerekli. Varsayılan değer: **
.
Kopyanın parçası olarak eklenecek dosya yolları. Bu dize, birden çok eşleşme deseni çizgisini destekler.
Örneğin:
-
*
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 bin klasöründen özyinelemeli olarak kopyalar.
Desen, klasör yollarıyla değil, yalnızca dosya yollarıyla eşleştirmek için kullanılır.
**\bin\**
yerine **\bin
gibi desenler belirtin.
[]
'de özel karakterleri sarmalama, bir dosya adındaki değişmez değer glob karakterlerini atlamak için kullanılabilir. Örneğin, sabit dosya adı hello[a-z]
hello[[]a-z]
olarak değiştirilebilir. Daha fazla bilgi için bkz. dosya eşleştirme desenleri başvurusu .
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.
Hedef KlasörTargetFolder
-
string
. Gerekli.
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
.
Opsiyonel. Kopyalama işleminden önce hedef klasördeki tüm mevcut dosyaları siler.
OverWrite
-
Üzerine Yaz
boolean
. Varsayılan değer: false
.
Opsiyonel. Hedef klasördeki mevcut dosyaları değiştirir.
flattenFolders
-
Klasörleri Düzleştirme
boolean
. Varsayılan değer: false
.
Opsiyonel. 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 sayıyı yeniden deneyin
string
. Varsayılan değer: 0
.
Dosyayı kopyalamak için yeniden deneme sayısını belirtir. Bu dize, uzak bir ana bilgisayardaki UNC hedef yolları gibi zaman zaman ortaya çıkan 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 bir ana bilgisayardaki UNC hedef yolları gibi zaman zaman ortaya çıkan sorunlar için kullanışlıdır.
ignoreMakeDirErrors
-
Hedef klasörün oluşturulması sırasındaki hataları yoksay.
boolean
. Varsayılan değer: false
.
Hedef klasörün oluşturulması sırasında oluşan hataları yok sayar. Bu dize, görevlerin tek bir hedef klasördeki birkaç aracı tarafından paralel olarak yürütülmesiyle ilgili sorunları önlemek için kullanışlıdır.
Görev denetim seçenekleri
Tüm görevlerin, 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ılı olduğunu bildirir.
- Eğer
Overwrite
vefalse
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
true
klasörde eşleşen bir dosya zaten varsa, eşleşen dosyanın üzerine yazılır.
Örnekler
Dosyayı yapıt hazırlama dizinine kopyalayın ve yayımlayın
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
Amaç
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
Uyarı
ConsoleApplication1.sln , .dll ve .exe dosyalarını içeren bir bin klasörü içeriyorsa, nelerin taşındığını görmek için aşağıdaki Sonuçlara bakın!
Değişkenler sekmesinde, $(BuildConfiguration)
olarak ayarlanır release
.
Birden fazla 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)'
VEYA koşulu olan ö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 olan ö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şkenlerle ö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
Kaynak dizinden .git klasörü dışındaki her şeyi kopyalayın
Birden fazla 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 | Aracı, DeploymentGroup |
Talep | Hiç kimse |
Özellikleri | Bu görev, işteki sonraki görevler için herhangi bir talebi karşılamaz. |
Komut kısıtlamaları | Bu görev,aşağıdaki |
Ayarlanabilir değişkenleri | Bu görevin aşağıdaki değişkenleri ayarlama izni var: Değişkenleri ayarlama devre dışı bırakıldı |
Aracı sürümü | 2.182.1 veya üzeri |
Görev kategorisi | Fayda |
Gereksinim | Açıklama |
---|---|
İşlem hattı türleri | YAML, Klasik derleme |
Üzerinde çalışır | Aracı, DeploymentGroup |
Talep | Hiç kimse |
Özellikleri | Bu görev, işteki sonraki görevler için herhangi bir talebi karşılamaz. |
Komut kısıtlamaları | Herhangi biri |
Ayarlanabilir değişkenleri | Herhangi biri |
Aracı sürümü | 1.91.0 veya üzeri |
Görev kategorisi | Fayda |
Ayrıca bakınız
- Dosya eşleştirme desenleri başvurusu
- yapıtları yayımlamak için bu görevi nasıl kullanabilirim?
- sorun gidermeiçin ayrıntılı günlük kullanmayı öğrenin.