Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Gebruik deze taak om bestanden van een bronmap naar een doelmap te kopiëren met behulp van overeenkomende patronen. (De overeenkomstpatronen komen alleen overeen met bestandspaden, niet mappaden).
Syntaxis
# 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.
Invoer
SourceFolder
-
bronmap
string
.
Facultatief. De map met de bestanden die u wilt kopiëren. Als de map leeg is, kopieert de taak bestanden uit de hoofdmap van de opslagplaats alsof $(Build.SourcesDirectory)
is opgegeven.
Als uw build artefacten produceert buiten de bronmap, geeft u $(Agent.BuildDirectory)
op om bestanden te kopiëren uit de map die voor de pijplijn is gemaakt.
Contents
-
Inhoudsopgave
string
. Verplicht. Standaardwaarde: **
.
De bestandspaden die moeten worden opgenomen als onderdeel van de kopie. Deze tekenreeks ondersteunt meerdere regels overeenkomstpatronen.
Voorbeeld:
-
*
alle bestanden in de opgegeven bronmap kopieert. -
**
kopieert alle bestanden in de opgegeven bronmap en alle bestanden in alle submappen. -
**\bin\**
kopieert alle bestanden recursief vanuit een bin-map.
Het patroon wordt gebruikt om alleen bestandspaden te vinden, niet mappaden. Geef patronen op, zoals **\bin\**
in plaats van **\bin
.
Speciale tekens verpakken in []
kunnen worden gebruikt om letterlijke globtekens in een bestandsnaam te ontsnappen. De letterlijke bestandsnaam hello[a-z]
kan bijvoorbeeld worden ontsnapt als hello[[]a-z]
. Zie Referentiemateriaal voor bestandskoppelingspatronenvoor meer informatie.
Gebruik het padscheidingsteken dat overeenkomt met het type buildagent.
/
moet bijvoorbeeld worden gebruikt voor Linux-agents. Hieronder ziet u meer voorbeelden.
TargetFolder
-
doelmap
string
. Verplicht.
De doelmap of het UNC-pad dat de gekopieerde bestanden bevat. U kunt variabelengebruiken. Voorbeeld: $(build.artifactstagingdirectory)
.
CleanTargetFolder
-
doelmap opschonen
boolean
. Standaardwaarde: false
.
Facultatief. Hiermee verwijdert u alle bestaande bestanden in de doelmap vóór het kopieerproces.
OverWrite
-
overschrijven
boolean
. Standaardwaarde: false
.
Facultatief. Vervangt de bestaande bestanden in de doelmap.
flattenFolders
-
mappen plat maken
boolean
. Standaardwaarde: false
.
Facultatief. Hiermee wordt de mapstructuur platgemaakt en worden alle bestanden gekopieerd naar de opgegeven doelmap.
preserveTimestamp
-
Behoud van het doeltijdstempel
boolean
. Standaardwaarde: false
.
Behoudt de tijdstempel van het doelbestand met behulp van het originele bronbestand.
retryCount
-
Aantal nieuwe pogingen om het bestand te kopiëren
string
. Standaardwaarde: 0
.
Hiermee geeft u het aantal nieuwe pogingen op om het bestand te kopiëren. Deze tekenreeks is handig voor incidentele problemen, zoals UNC-doelpaden op een externe host.
delayBetweenRetries
-
Vertraging tussen twee nieuwe pogingen.
string
. Standaardwaarde: 1000
.
Hiermee geeft u de vertraging op tussen twee nieuwe pogingen. Deze tekenreeks is handig voor incidentele problemen, zoals UNC-doelpaden op een externe host.
ignoreMakeDirErrors
-
Negeer fouten tijdens het maken van de doelmap.
boolean
. Standaardwaarde: false
.
Negeleert fouten die optreden tijdens het maken van de doelmap. Deze tekenreeks is handig om problemen te voorkomen met de parallelle uitvoering van taken door meerdere agents binnen één doelmap.
Opties voor taakbeheer
Alle taken hebben besturingsopties naast hun taakinvoer. Zie Opties en algemene taakeigenschappenvoor meer informatie.
Uitvoervariabelen
Geen.
Opmerkingen
Als er geen bestanden overeenkomen, wordt de taak nog steeds geslaagd.
- Als
Overwrite
dit het geval isfalse
en er al een overeenkomend bestand bestaat in de doelmap, wordt de fout niet gerapporteerd door de taak, maar wordt geregistreerd dat het bestand al bestaat en wordt het overgeslagen. - Als
Overwrite
dit het geval istrue
en er al een overeenkomend bestand bestaat in de doelmap, wordt het overeenkomende bestand overschreven.
Voorbeelden
Kopieer het bestand naar de map met artefacten en publiceer
steps:
- task: CopyFiles@2
inputs:
contents: '_buildOutput/**'
targetFolder: $(Build.ArtifactStagingDirectory)
- task: PublishBuildArtifacts@1
inputs:
pathToPublish: $(Build.ArtifactStagingDirectory)
artifactName: MyBuildOutputs
Uitvoerbare bestanden en een leesmij-bestand kopiëren
Doel
U wilt alleen de leesmij-app en de bestanden kopiëren die nodig zijn om deze C#-console-app uit te voeren:
`-- ConsoleApplication1
|-- ConsoleApplication1.sln
|-- readme.txt
`-- ClassLibrary1
|-- ClassLibrary1.csproj
`-- ClassLibrary2
|-- ClassLibrary2.csproj
`-- ConsoleApplication1
|-- ConsoleApplication1.csproj
Opmerking
ConsoleApplication1.sln bevat een prullenbak map met .dll en .exe bestanden, zie de resultaten hieronder om te zien wat er wordt verplaatst!
Op het tabblad $(BuildConfiguration)
Variabelen is ingesteld op release
.
Voorbeeld met meerdere zoekpatronen:
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)'
Voorbeeld met OF-voorwaarde:
steps:
- task: CopyFiles@2
displayName: 'Copy Files to: $(Build.ArtifactStagingDirectory)'
inputs:
Contents: |
ConsoleApplication1\ConsoleApplication1\bin\**\?(*.exe|*.dll)
ConsoleApplication1\readme.txt
TargetFolder: '$(Build.ArtifactStagingDirectory)'
Voorbeeld met NIET-voorwaarde:
steps:
- task: CopyFiles@2
displayName: 'Copy Files to: $(Build.ArtifactStagingDirectory)'
inputs:
Contents: |
ConsoleApplication1\**\bin\**\!(*.pdb|*.config)
!ConsoleApplication1\**\ClassLibrary*\**
ConsoleApplication1\readme.txt
TargetFolder: '$(Build.ArtifactStagingDirectory)'
Voorbeeld met variabelen in de inhoudssectie
- task: CopyFiles@2
inputs:
Contents: '$(Build.Repository.LocalPath)/**'
TargetFolder: '$(Build.ArtifactStagingDirectory)'
Resultaten
Deze bestanden worden gekopieerd naar de staging directory:
`-- ConsoleApplication1
|-- readme.txt
`-- ConsoleApplication1
`-- bin
`-- Release
| -- ClassLibrary1.dll
| -- ClassLibrary2.dll
| -- ConsoleApplication1.exe
Kopieer alles uit de bronmap behalve de .git-map
Voorbeeld met meerdere zoekpatronen:
steps:
- task: CopyFiles@2
displayName: 'Copy Files to: $(Build.ArtifactStagingDirectory)'
inputs:
SourceFolder: '$(Build.SourcesDirectory)'
Contents: |
**/*
!.git/**/*
TargetFolder: '$(Build.ArtifactStagingDirectory)'
Behoeften
Voorwaarde | Beschrijving |
---|---|
Pijplijntypen | YAML, klassieke build |
Wordt uitgevoerd op | Agent, DeploymentGroup |
Eisen | Geen |
Mogelijkheden | Deze taak voldoet niet aan de vereisten voor volgende taken in de taak. |
opdrachtbeperkingen | Deze taak wordt uitgevoerd met behulp van de volgende opdrachtbeperkingen: beperkt |
variabelen instellen | Deze taak is gemachtigd om de volgende variabelen in te stellen : Variabelen instellen is uitgeschakeld |
Agentversie | 2.182.1 of hoger |
Taakcategorie | Nutsvoorzieningen |
Voorwaarde | Beschrijving |
---|---|
Pijplijntypen | YAML, klassieke build |
Wordt uitgevoerd op | Agent, DeploymentGroup |
Eisen | Geen |
Mogelijkheden | Deze taak voldoet niet aan de vereisten voor volgende taken in de taak. |
opdrachtbeperkingen | Welke dan ook |
variabelen instellen | Welke dan ook |
Agentversie | 1.91.0 of hoger |
Taakcategorie | Nutsvoorzieningen |
Zie ook
- Naslaginformatie over bestandskoppelingspatronen
- Hoe gebruik ik deze taak om artefacten te publiceren
- Meer informatie over het gebruik van uitgebreide logboeken voor probleemoplossing.