CopyFiles@2 – Fájlok másolása v2 feladat
Ezzel a feladattal fájlokat másolhat egy forrásmappából egy célmappába egyezésminták használatával. (Az egyeztetési minták csak a fájlelérési utakra fognak illeszkedni, a mappaelérési utakra nem).
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.
Bevitelek
SourceFolder
- Forrásmappa
string
.
Választható. A másolni kívánt fájlokat tartalmazó mappa. Ha a mappa üres, akkor a feladat a megadott módon másolja a fájlokat az adattár $(Build.SourcesDirectory)
gyökérmappájából.
Ha a build a forráskönyvtáron kívül hoz létre összetevőket, adja meg $(Agent.BuildDirectory)
, hogy a folyamathoz létrehozott könyvtárból másolja a fájlokat.
Contents
- Tartalmát
string
. Kötelező. Alapértelmezett érték: **
.
A másolat részeként belefoglalandó fájlelérési utak. Ez a sztring több egyezésmintát támogat.
Például:
*
a megadott forrásmappában lévő összes fájlt átmásolja.**
a megadott forrásmappában lévő összes fájlt és az összes almappában lévő összes fájlt átmásolja.**\bin\**
az összes fájlt rekurzív módon másolja bármely bin mappából.
A minta csak a fájlelérési utakra vonatkozik, a mappaelérési utakra nem. Adjon meg mintákat, például **\bin\**
a helyett **\bin
.
Használja a buildügynök típusának megfelelő elérésiút-elválasztót. Például /
Linux-ügynökökhöz kell használni. Alább további példákat talál.
TargetFolder
- Célmappa
string
. Kötelező.
A másolt fájlokat tartalmazó célmappa vagy UNC elérési út. Használhat változókat. Példa: $(build.artifactstagingdirectory)
.
CleanTargetFolder
- Célmappa törlése
boolean
. Alapértelmezett érték: false
.
Választható. A másolási folyamat előtt törli a célmappa összes meglévő fájlját.
OverWrite
- Felülírja
boolean
. Alapértelmezett érték: false
.
Választható. Lecseréli a célmappa meglévő fájljait.
flattenFolders
- Mappák simítása
boolean
. Alapértelmezett érték: false
.
Választható. Simítja a mappastruktúrát, és az összes fájlt a megadott célmappába másolja.
preserveTimestamp
- Cél időbélyegének megőrzése
boolean
. Alapértelmezett érték: false
.
Megőrzi a célfájl időbélyegét az eredeti forrásfájl használatával.
retryCount
- A fájl másolásához próbálkozzon újra a számával
string
. Alapértelmezett érték: 0
.
A fájl másolásához megadott újrapróbálkozások számát adja meg. Ez a sztring olyan időszakos problémák esetén hasznos, mint például egy távoli gazdagép UNC-célútvonalai.
delayBetweenRetries
- Két újrapróbálkozás közötti késleltetés.
string
. Alapértelmezett érték: 1000
.
Két újrapróbálkozás közötti késleltetést adja meg. Ez a sztring olyan időszakos problémák esetén hasznos, mint például egy távoli gazdagép UNC-célútvonalai.
ignoreMakeDirErrors
- A célmappa létrehozása során felmerülő hibák figyelmen kívül hagyása.
boolean
. Alapértelmezett érték: false
.
Figyelmen kívül hagyja a célmappa létrehozása során előforduló hibákat. Ez a sztring hasznos a feladatok több ügynök általi párhuzamos végrehajtásával kapcsolatos problémák elkerüléséhez egy célmappában.
Feladatvezérlési lehetőségek
Minden feladathoz tartoznak vezérlési lehetőségek is a feladat bemenetei mellett. További információ: Vezérlési beállítások és gyakori feladattulajdonságok.
Kimeneti változók
Nincsenek.
Megjegyzések
Ha nincs egyező fájl, a feladat továbbra is sikeres lesz.
- Ha
Overwrite
igen,false
és már létezik egy egyeztetett fájl a célmappában, a feladat nem jelenti a hibát, hanem naplózza, hogy a fájl már létezik, és hagyja ki. - Ha
Overwrite
igen,true
és már létezik egy egyeztetett fájl a célmappában, a rendszer felülírja a megfeleltetett fájlt.
Példák
Fájl másolása az összetevők előkészítési könyvtárába és közzététele
steps:
- task: CopyFiles@2
inputs:
contents: '_buildOutput/**'
targetFolder: $(Build.ArtifactStagingDirectory)
- task: PublishBuildArtifacts@1
inputs:
pathToPublish: $(Build.ArtifactStagingDirectory)
artifactName: MyBuildOutputs
Végrehajtható fájlok és olvasófájl másolása
Cél
Csak a C#-konzolalkalmazás futtatásához szükséges olvasási elemet és fájlokat szeretné másolni:
`-- ConsoleApplication1
|-- ConsoleApplication1.sln
|-- readme.txt
`-- ClassLibrary1
|-- ClassLibrary1.csproj
`-- ClassLibrary2
|-- ClassLibrary2.csproj
`-- ConsoleApplication1
|-- ConsoleApplication1.csproj
Megjegyzés
A ConsoleApplication1.sln egy dobozmappát tartalmaz, amely .dll és .exe fájlokat tartalmaz. Az alábbi eredményekből megtudhatja, hogy mi lesz áthelyezve!
A Változók lapon $(BuildConfiguration)
a értéke release
.
Példa több egyezési mintával:
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élda VAGY feltétellel:
steps:
- task: CopyFiles@2
displayName: 'Copy Files to: $(Build.ArtifactStagingDirectory)'
inputs:
Contents: |
ConsoleApplication1\ConsoleApplication1\bin\**\?(*.exe|*.dll)
ConsoleApplication1\readme.txt
TargetFolder: '$(Build.ArtifactStagingDirectory)'
Példa NOT feltétellel:
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élda változókkal a tartalomszakaszban
- task: CopyFiles@2
inputs:
Contents: '$(Build.Repository.LocalPath)/**'
TargetFolder: '$(Build.ArtifactStagingDirectory)'
Results (Eredmények)
Ezeket a fájlokat a rendszer az előkészítési könyvtárba másolja:
`-- ConsoleApplication1
|-- readme.txt
`-- ConsoleApplication1
`-- bin
`-- Release
| -- ClassLibrary1.dll
| -- ClassLibrary2.dll
| -- ConsoleApplication1.exe
Másolja ki mindent a forráskönyvtárból a .git mappa kivételével
Példa több egyezési mintával:
steps:
- task: CopyFiles@2
displayName: 'Copy Files to: $(Build.ArtifactStagingDirectory)'
inputs:
SourceFolder: '$(Build.SourcesDirectory)'
Contents: |
**/*
!.git/**/*
TargetFolder: '$(Build.ArtifactStagingDirectory)'
Követelmények
Követelmény | Leírás |
---|---|
Folyamattípusok | YAML, klasszikus build |
Futtatás | Ügynök, DeploymentGroup |
Igények | None |
Képességek | Ez a feladat nem felel meg a feladat későbbi tevékenységeire vonatkozó követelményeknek. |
Parancskorlátozások | Ez a feladat a következő parancskorlátozásokkal fut: korlátozott |
Változók beállítása | Ez a feladat rendelkezik engedéllyel a következő változók beállításához: A változók beállítása le van tiltva |
Ügynök verziója | 2.182.1 vagy újabb |
Feladatkategória | Segédprogram |
Követelmény | Leírás |
---|---|
Folyamattípusok | YAML, klasszikus build |
Futtatás | Ügynök, DeploymentGroup |
Igények | None |
Képességek | Ez a feladat nem felel meg a feladat későbbi tevékenységeire vonatkozó követelményeknek. |
Parancskorlátozások | Bármelyik |
Változók beállítása | Bármelyik |
Ügynök verziója | 1.91.0 vagy újabb |
Feladatkategória | Segédprogram |
Lásd még
- Fájlegyeztetési minták referenciája
- Hogyan a feladat használatával tegye közzé az összetevőket
- Megtudhatja, hogyan használhat részletes naplókata hibaelhárításhoz.