CopyFiles@2 – Kopiera filer v2-uppgift
Använd den här uppgiften för att kopiera filer från en källmapp till en målmapp med hjälp av matchningsmönster. (Matchningsmönstren matchar bara filsökvägar, inte mappsökvägar).
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.
Indata
SourceFolder
- Källmapp
string
.
Valfritt. Mappen som innehåller de filer som du vill kopiera. Om mappen är tom kopierar aktiviteten filer från lagringsplatsens rotmapp som om $(Build.SourcesDirectory)
den hade angetts.
Om bygget skapar artefakter utanför källkatalogen anger du $(Agent.BuildDirectory)
för att kopiera filer från katalogen som skapats för pipelinen.
Contents
- Innehållet
string
. Krävs. Standardvärde: **
.
Filsökvägarna som ska inkluderas som en del av kopian. Den här strängen stöder flera rader med matchningsmönster.
Exempel:
*
kopierar alla filer i den angivna källmappen.**
kopierar alla filer i den angivna källmappen och alla filer i alla undermappar.**\bin\**
kopierar alla filer rekursivt från valfri bin-mapp.
Mönstret används för att endast matcha filsökvägar, inte mappsökvägar. Ange mönster, till exempel **\bin\**
i stället för **\bin
.
Använd sökvägsavgränsaren som matchar din typ av byggagent. Till exempel /
måste användas för Linux-agenter. Fler exempel visas nedan.
TargetFolder
- Målmapp
string
. Krävs.
Målmappen eller UNC-sökvägen som ska innehålla de kopierade filerna. Du kan använda variabler. Exempel: $(build.artifactstagingdirectory)
.
CleanTargetFolder
- Rensa målmapp
boolean
. Standardvärde: false
.
Valfritt. Tar bort alla befintliga filer i målmappen före kopieringsprocessen.
OverWrite
- Skriv över
boolean
. Standardvärde: false
.
Valfritt. Ersätter de befintliga filerna i målmappen.
flattenFolders
- Platta ut mappar
boolean
. Standardvärde: false
.
Valfritt. Plattar ut mappstrukturen och kopierar alla filer till den angivna målmappen.
preserveTimestamp
- Bevara måltidsstämpel
boolean
. Standardvärde: false
.
Bevarar målfilens tidsstämpel med hjälp av den ursprungliga källfilen.
retryCount
- Antal återförsök för att kopiera filen
string
. Standardvärde: 0
.
Anger antalet återförsök för att kopiera filen. Den här strängen är användbar för tillfälliga problem, till exempel UNC-målsökvägar på en fjärrvärd.
delayBetweenRetries
- Fördröjning mellan två återförsök.
string
. Standardvärde: 1000
.
Anger fördröjningen mellan två återförsök. Den här strängen är användbar för tillfälliga problem, till exempel UNC-målsökvägar på en fjärrvärd.
ignoreMakeDirErrors
- Ignorera fel när målmappen skapas.
boolean
. Standardvärde: false
.
Ignorerar fel som uppstår när målmappen skapas. Den här strängen är användbar för att undvika problem med parallell körning av uppgifter av flera agenter i en målmapp.
Kontrollalternativ för aktivitet
Alla aktiviteter har kontrollalternativ utöver sina aktivitetsindata. Mer information finns i Kontrollalternativ och vanliga uppgiftsegenskaper.
Utdatavariabler
Inga.
Kommentarer
Om inga filer matchar rapporterar uppgiften fortfarande att åtgärden lyckades.
- Om
Overwrite
ärfalse
och en matchad fil redan finns i målmappen rapporterar aktiviteten inte fel, men loggar att filen redan finns och hoppar över den. - Om
Overwrite
ärtrue
och det redan finns en matchad fil i målmappen skrivs den matchade filen över.
Exempel
Kopiera filen till artefakternas mellanlagringskatalog och publicera
steps:
- task: CopyFiles@2
inputs:
contents: '_buildOutput/**'
targetFolder: $(Build.ArtifactStagingDirectory)
- task: PublishBuildArtifacts@1
inputs:
pathToPublish: $(Build.ArtifactStagingDirectory)
artifactName: MyBuildOutputs
Kopiera körbara filer och en readme-fil
Mål
Du vill bara kopiera readme och de filer som behövs för att köra den här C#-konsolappen:
`-- ConsoleApplication1
|-- ConsoleApplication1.sln
|-- readme.txt
`-- ClassLibrary1
|-- ClassLibrary1.csproj
`-- ClassLibrary2
|-- ClassLibrary2.csproj
`-- ConsoleApplication1
|-- ConsoleApplication1.csproj
Anteckning
ConsoleApplication1.sln innehåller en bin-mapp med .dll och .exe filer. Se resultatet nedan för att se vad som flyttas!
På fliken $(BuildConfiguration)
Variabler är inställt på release
.
Exempel med flera matchningsmönster:
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)'
Exempel med OR-villkor:
steps:
- task: CopyFiles@2
displayName: 'Copy Files to: $(Build.ArtifactStagingDirectory)'
inputs:
Contents: |
ConsoleApplication1\ConsoleApplication1\bin\**\?(*.exe|*.dll)
ConsoleApplication1\readme.txt
TargetFolder: '$(Build.ArtifactStagingDirectory)'
Exempel med VILLKOR EJ:
steps:
- task: CopyFiles@2
displayName: 'Copy Files to: $(Build.ArtifactStagingDirectory)'
inputs:
Contents: |
ConsoleApplication1\**\bin\**\!(*.pdb|*.config)
!ConsoleApplication1\**\ClassLibrary*\**
ConsoleApplication1\readme.txt
TargetFolder: '$(Build.ArtifactStagingDirectory)'
Exempel med variabler i innehållsavsnittet
- task: CopyFiles@2
inputs:
Contents: '$(Build.Repository.LocalPath)/**'
TargetFolder: '$(Build.ArtifactStagingDirectory)'
Resultat
Dessa filer kopieras till mellanlagringskatalogen:
`-- ConsoleApplication1
|-- readme.txt
`-- ConsoleApplication1
`-- bin
`-- Release
| -- ClassLibrary1.dll
| -- ClassLibrary2.dll
| -- ConsoleApplication1.exe
Kopiera allt från källkatalogen förutom .git-mappen
Exempel med flera matchningsmönster:
steps:
- task: CopyFiles@2
displayName: 'Copy Files to: $(Build.ArtifactStagingDirectory)'
inputs:
SourceFolder: '$(Build.SourcesDirectory)'
Contents: |
**/*
!.git/**/*
TargetFolder: '$(Build.ArtifactStagingDirectory)'
Krav
Krav | Beskrivning |
---|---|
Pipelinetyper | YAML, klassisk version |
Körs på | Agent, DeploymentGroup |
Krav | Ingen |
Funktioner | Den här aktiviteten uppfyller inte några krav för efterföljande uppgifter i jobbet. |
Kommandobegränsningar | Den här uppgiften körs med följande kommandobegränsningar: begränsad |
Inställningsbara variabler | Den här aktiviteten har behörighet att ange följande variabler: Inställningsvariabler är inaktiverade |
Agentversion | 2.182.1 eller senare |
Uppgiftskategori | Verktyg |
Krav | Beskrivning |
---|---|
Pipelinetyper | YAML, klassisk version |
Körs på | Agent, DeploymentGroup |
Krav | Ingen |
Funktioner | Den här aktiviteten uppfyller inte några krav för efterföljande uppgifter i jobbet. |
Kommandobegränsningar | Valfri |
Inställningsbara variabler | Valfri |
Agentversion | 1.91.0 eller senare |
Uppgiftskategori | Verktyg |