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