Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Pomocí této úlohy můžete kopírovat soubory ze zdrojové složky do cílové složky pomocí vzorů shody. (Vzory shody budou odpovídat pouze cestám k souborům, nikoli cest ke složkám).
Syntaxe
# 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.
Vstupy
SourceFolder
-
zdrojové složky
string
.
Volitelný. Složka obsahující soubory, které chcete zkopírovat. Pokud je složka prázdná, úloha zkopíruje soubory z kořenové složky úložiště, jako by byla zadána $(Build.SourcesDirectory)
.
Pokud sestavení vytváří artefakty mimo adresář zdrojů, zadejte $(Agent.BuildDirectory)
ke kopírování souborů z adresáře vytvořeného pro kanál.
obsah Contents
-
string
. Povinné. Výchozí hodnota: **
.
Cesty k souborům, které chcete zahrnout jako součást kopie. Tento řetězec podporuje více řádků vzorů shody.
Například:
-
*
zkopíruje všechny soubory v zadané zdrojové složce. -
**
zkopíruje všechny soubory v zadané zdrojové složce a všechny soubory ve všech podsložkách. -
**\bin\**
zkopíruje všechny soubory rekurzivně z libovolné složky přihrádky.
Vzor se používá ke shodě pouze cest k souborům, nikoli cest ke složkám. Zadejte vzory, například **\bin\**
místo **\bin
.
Zalamování speciálních znaků v []
lze použít k řídicím literálovým znakům v názvu souboru. Například název literálového souboru hello[a-z]
může být uchvácený jako hello[[]a-z]
. Další informace naleznete v tématu Vzory porovnávání souborů referenční.
Použijte oddělovač cest, který odpovídá vašemu typu agenta sestavení. Například /
se musí používat pro agenty Linuxu. Další příklady jsou uvedené níže.
cílové složky TargetFolder
-
string
. Povinné.
Cílová složka nebo cesta UNC, která bude obsahovat zkopírované soubory. Můžete použít proměnné . Příklad: $(build.artifactstagingdirectory)
.
CleanTargetFolder
-
čisté cílové složky
boolean
. Výchozí hodnota: false
.
Volitelný. Před procesem kopírování odstraní všechny existující soubory v cílové složce.
OverWrite
-
přepsat
boolean
. Výchozí hodnota: false
.
Volitelný. Nahradí existující soubory v cílové složce.
flattenFolders
-
složek s plochou
boolean
. Výchozí hodnota: false
.
Volitelný. Zploštěná struktura složek a zkopíruje všechny soubory do zadané cílové složky.
preserveTimestamp
-
Zachovat časové razítko cíle
boolean
. Výchozí hodnota: false
.
Zachová časové razítko cílového souboru pomocí původního zdrojového souboru.
retryCount
-
Počet opakování pro zkopírování souboru
string
. Výchozí hodnota: 0
.
Určuje počet opakování pro zkopírování souboru. Tento řetězec je užitečný pro občasné problémy, jako jsou cílové cesty UNC na vzdáleném hostiteli.
delayBetweenRetries
-
Zpoždění mezi dvěma opakovanými pokusy.
string
. Výchozí hodnota: 1000
.
Určuje prodlevu mezi dvěma opakovanými pokusy. Tento řetězec je užitečný pro občasné problémy, jako jsou cílové cesty UNC na vzdáleném hostiteli.
ignoreMakeDirErrors
-
Ignorujte chyby při vytváření cílové složky.
boolean
. Výchozí hodnota: false
.
Ignoruje chyby, ke kterým dojde při vytváření cílové složky. Tento řetězec je užitečný, abyste se vyhnuli problémům s paralelním prováděním úloh několika agenty v jedné cílové složce.
Možnosti ovládání úloh
Všechny úlohy mají kromě vstupů také možnosti ovládání. Další informace naleznete v tématu Možnosti ovládacího prvku a běžné vlastnosti úloh.
Výstupní proměnné
Žádné.
Poznámky
Pokud se žádné soubory neshoduje, úkol bude stále oznamovat úspěch.
- Pokud
Overwrite
v cílové složce jižfalse
existuje odpovídající soubor, úloha neohlásí chybu, ale zaznamená do protokolu, že soubor již existuje, a přeskočí ji. - Pokud
Overwrite
v cílové složce již existuje odpovídajícítrue
soubor, bude odpovídající soubor přepsán.
Příklady
Zkopírujte soubor do pracovního adresáře artefaktů a publikujte
steps:
- task: CopyFiles@2
inputs:
contents: '_buildOutput/**'
targetFolder: $(Build.ArtifactStagingDirectory)
- task: PublishBuildArtifacts@1
inputs:
pathToPublish: $(Build.ArtifactStagingDirectory)
artifactName: MyBuildOutputs
Kopírování spustitelných souborů a souboru readme
Cíl
Chcete zkopírovat pouze soubor Readme a soubory potřebné ke spuštění této konzolové aplikace v jazyce C#:
`-- ConsoleApplication1
|-- ConsoleApplication1.sln
|-- readme.txt
`-- ClassLibrary1
|-- ClassLibrary1.csproj
`-- ClassLibrary2
|-- ClassLibrary2.csproj
`-- ConsoleApplication1
|-- ConsoleApplication1.csproj
Poznámka:
ConsoleApplication1.sln obsahuje složku bin se soubory .dll a .exe, podívejte se na výsledky níže, abyste viděli, co se přesune!
Na kartě $(BuildConfiguration)
Proměnné je nastavena na release
.
- YAML
- Klasické
Příklad s více vzory shody:
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)'
Příklad s podmínkou OR:
steps:
- task: CopyFiles@2
displayName: 'Copy Files to: $(Build.ArtifactStagingDirectory)'
inputs:
Contents: |
ConsoleApplication1\ConsoleApplication1\bin\**\?(*.exe|*.dll)
ConsoleApplication1\readme.txt
TargetFolder: '$(Build.ArtifactStagingDirectory)'
Příklad s podmínkou 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)'
Příklad s proměnnými v sekci obsahu
- task: CopyFiles@2
inputs:
Contents: '$(Build.Repository.LocalPath)/**'
TargetFolder: '$(Build.ArtifactStagingDirectory)'
Výsledky
Tyto soubory se zkopírují do testovacího adresáře:
`-- ConsoleApplication1
|-- readme.txt
`-- ConsoleApplication1
`-- bin
`-- Release
| -- ClassLibrary1.dll
| -- ClassLibrary2.dll
| -- ConsoleApplication1.exe
Zkopírujte vše ze zdrojového adresáře kromě složky .git
- YAML
- Klasické
Příklad s více vzory shody:
steps:
- task: CopyFiles@2
displayName: 'Copy Files to: $(Build.ArtifactStagingDirectory)'
inputs:
SourceFolder: '$(Build.SourcesDirectory)'
Contents: |
**/*
!.git/**/*
TargetFolder: '$(Build.ArtifactStagingDirectory)'
Požadavky
Požadavek | Popis |
---|---|
Typy kanálů | YAML, klasické sestavení |
Běží na | Agent, skupina nasazení |
Požadavky | Žádné |
možnosti | Tento úkol nesplňuje žádné požadavky na následné úkoly v úloze. |
omezení příkazů | Tato úloha se spouští s následujícími omezeními příkazů : omezeno: |
nastavitelné proměnné | Tento úkol má oprávnění nastavit následující proměnné: Nastavení proměnných je zakázáno. |
Verze agenta | 2.182.1 nebo vyšší |
Kategorie úkolu | Užitnost |
Požadavek | Popis |
---|---|
Typy kanálů | YAML, klasické sestavení |
Běží na | Agent, skupina nasazení |
Požadavky | Žádné |
možnosti | Tento úkol nesplňuje žádné požadavky na následné úkoly v úloze. |
omezení příkazů | Jakýkoliv |
nastavitelné proměnné | Jakýkoliv |
Verze agenta | 1.91.0 nebo vyšší |
Kategorie úkolu | Užitnost |