Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ezzel a feladattal fájlokat másolhat egy forrásmappából egy célmappába egyezésminták használatával. (Az egyezési minták csak a fájl elérési útjaihoz fognak egyezni, a mappa elérési útjaihoz nem.
Szemantika
# 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.
Bemenetek
SourceFolder
-
Forrásmappa
string.
Opcionális. A másolni kívánt fájlokat tartalmazó mappa. Ha a mappa üres, akkor a feladat úgy másolja a fájlokat az adattár gyökérmappájából, mintha $(Build.SourcesDirectory) lett volna megadva.
Ha a build a forráskönyvtáron kívül hoz létre összetevőket, adja meg a $(Agent.BuildDirectory) a folyamathoz létrehozott könyvtár fájljainak másolásához.
Contents
-
Tartalom
string. Szükséges. 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ármelyik tárolómappából.
A minta csak a fájl elérési útjaihoz használható, a mappa elérési útjaihoz nem. Adjon meg mintákat, például **\bin\****\binhelyett.
A [] speciális karaktereit tördelve feloldhatja a fájlnévben szereplő literális glob karaktereket. A hello[a-z] konstans fájlnév például hello[[]a-z]. További információ: Fájlmegfeleltetési minták hivatkozása.
Használja a buildügynök típusának megfelelő elérési útelválasztót. Például / linuxos ügynökökhöz kell használni. További példákat alább talál.
TargetFolder
-
Célmappa
string. Szükséges.
A másolt fájlokat tartalmazó célmappa vagy UNC-elérési út. Használhat változókat. Példa: $(build.artifactstagingdirectory).
CleanTargetFolder
-
Tiszta célmappa
boolean. Alapértelmezett érték: false.
Opcionális. A másolási folyamat előtt törli a célmappában lévő összes meglévő fájlt.
OverWrite
-
felülírás
boolean. Alapértelmezett érték: false.
Opcionális. Lecseréli a célmappában lévő meglévő fájlokat.
flattenFolders
-
Mappák simítása
boolean. Alapértelmezett érték: false.
Opcionális. Simítja a mappastruktúrát, és az összes fájlt a megadott célmappába másolja.
preserveTimestamp
-
Cél időbélyegző 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
-
Újrapróbálkozások száma a fájl másolásához
string. Alapértelmezett érték: 0.
Megadja a fájl másolásához szükséges újrapróbálkozások számát. Ez a sztring időszakos problémákhoz, például távoli gazdagépen lévő UNC-célútvonalak esetén hasznos.
delayBetweenRetries
-
Késleltetés két újrapróbálkozás között.
string. Alapértelmezett érték: 1000.
Megadja a két újrapróbálkozás közötti késleltetést. Ez a sztring időszakos problémákhoz, például távoli gazdagépen lévő UNC-célútvonalak esetén hasznos.
ignoreMakeDirErrors
-
Hagyja figyelmen kívül a célmappa létrehozása során fellépő hibákat.
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 karakterlánc hasznos a feladatok több ügynök által egy célmappán belüli párhuzamos végrehajtásával kapcsolatos problémák elkerüléséhez.
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ők és gyakori feladattulajdonságok.
Kimeneti változók
Nincs.
Megjegyzések
Ha nem egyeznek a fájlok, a feladat továbbra is sikeres lesz.
- Ha
Overwritevan ésfalsemár létezik egyező 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 kihagyja. - Ha
Overwriteistrueés egy egyező fájl már létezik a célmappában, akkor az egyező fájl felülíródik.
Példák
Fájl másolása az összetevők átmeneti 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 readme fájl másolása
Cél
Csak a readme fájlt és a C#-konzolalkalmazás futtatásához szükséges fájlokat szeretné másolni:
`-- ConsoleApplication1
|-- ConsoleApplication1.sln
|-- readme.txt
`-- ClassLibrary1
|-- ClassLibrary1.csproj
`-- ClassLibrary2
|-- ClassLibrary2.csproj
`-- ConsoleApplication1
|-- ConsoleApplication1.csproj
Megjegyzés:
ConsoleApplication1.sln tartalmaz egy bin mappát .dll és .exe fájlokkal, tekintse meg az alábbi eredményeket, hogy megtudja, mi kerül áthelyezésre!
A Változók lapon a következőre $(BuildConfiguration)van állítva: release .
Példa több egyezési mintára:
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 NEM 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 tartalom szakaszban
- task: CopyFiles@2
inputs:
Contents: '$(Build.Repository.LocalPath)/**'
TargetFolder: '$(Build.ArtifactStagingDirectory)'
Eredmények
Ezeket a fájlokat a rendszer az átmeneti könyvtárba másolja:
`-- ConsoleApplication1
|-- readme.txt
`-- ConsoleApplication1
`-- bin
`-- Release
| -- ClassLibrary1.dll
| -- ClassLibrary2.dll
| -- ConsoleApplication1.exe
Másoljon mindent a forráskönyvtárból, kivéve a .git mappát
Példa több egyezési mintára:
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 bekapcsolva | Ügynök, DeploymentGroup |
| Igények | Egyik sem |
| Képességek | Ez a tevékenység 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 jogosult a következő változók beállítására: A változók beállítása le van tiltva |
| Ügynök verzió | 2.182.1 vagy újabb |
| Tevékenységkategória | Hasznosság |
| Követelmény | Leírás |
|---|---|
| Folyamattípusok | YAML, klasszikus build |
| Futtatás bekapcsolva | Ügynök, DeploymentGroup |
| Igények | Egyik sem |
| Képességek | Ez a tevékenység nem felel meg a feladat későbbi tevékenységeire vonatkozó követelményeknek. |
| parancskorlátozások | Bármely |
| Változók beállítása | Bármely |
| Ügynök verzió | 1.91.0 vagy újabb |
| Tevékenységkategória | Hasznosság |
Lásd még
- Fájlegyeztetési minták referenciája
- Hogyan tehetem közzé az összetevőket
- Megtudhatja, hogyan használható részletes naplókhibaelhárítási.