AzureFileCopy@3 – Azure-fájlmásolási v3 feladat
Fájlok másolása Azure Blob Storage vagy virtuális gépekre.
Megjegyzés
Ez a feladat nem támogatja az Azure Resource Manager-hitelesítést munkafolyamat-identitás-összevonással.
Syntax
# Azure file copy v3
# Copy files to Azure Blob Storage or virtual machines.
- task: AzureFileCopy@3
inputs:
SourcePath: # string. Required. Source.
azureSubscription: # string. Alias: ConnectedServiceNameARM. Required. Azure Subscription.
Destination: # 'AzureBlob' | 'AzureVMs'. Required. Destination Type.
storage: # string. Alias: StorageAccountRM. Required. RM Storage Account.
#ContainerName: # string. Required when Destination = AzureBlob. Container Name.
#BlobPrefix: # string. Optional. Use when Destination = AzureBlob. Blob Prefix.
#resourceGroup: # string. Alias: EnvironmentNameRM. Required when Destination = AzureVMs. Resource Group.
#ResourceFilteringMethod: 'machineNames' # 'machineNames' | 'tags'. Optional. Use when Destination = AzureVMs. Select Machines By. Default: machineNames.
#MachineNames: # string. Optional. Use when Destination = AzureVMs. Filter Criteria.
#vmsAdminUserName: # string. Required when Destination = AzureVMs. Admin Login.
#vmsAdminPassword: # string. Required when Destination = AzureVMs. Password.
#TargetPath: # string. Required when Destination = AzureVMs. Destination Folder.
#AdditionalArgumentsForBlobCopy: # string. Optional Arguments (for uploading files to blob).
#AdditionalArgumentsForVMCopy: # string. Optional. Use when Destination = AzureVMs. Optional Arguments (for downloading files to VM).
#enableCopyPrerequisites: false # boolean. Optional. Use when Destination = AzureVMs. Enable Copy Prerequisites. Default: false.
#CopyFilesInParallel: true # boolean. Optional. Use when Destination = AzureVMs. Copy in Parallel. Default: true.
#CleanTargetBeforeCopy: false # boolean. Optional. Use when Destination = AzureVMs. Clean Target. Default: false.
#skipCACheck: true # boolean. Optional. Use when Destination = AzureVMs. Test Certificate. Default: true.
# Output
#outputStorageUri: # string. Storage Container URI.
#outputStorageContainerSasToken: # string. Storage Container SAS Token.
#sasTokenTimeOutInMinutes: # string. SAS Token Expiration Period In Minutes.
Bevitelek
SourcePath
- Forrás
string
. Kötelező.
Adja meg a forrásmappa vagy fájl abszolút elérési útját a helyi gépen, vagy egy UNC-megosztást. Használhat előre definiált rendszerváltozókat, például $(Build.Repository.LocalPath)
. A helyettesítő karaktereket (például *.zip
) tartalmazó nevek nem támogatottak. A megadott értéknek vagy kifejezésnek egyetlen mappát vagy fájlnevet kell visszaadnia.
azureSubscription
- Azure-előfizetés
Bemeneti alias: ConnectedServiceNameARM
. string
. Kötelező.
Adja meg a cél Azure-szolgáltatás, virtuális gép vagy tárfiók helyét tartalmazó előfizetéshez konfigurált Azure Resource Manager szolgáltatáskapcsolat nevét. További részletekért tekintse meg az Azure Resource Manager áttekintését.
Destination
- Céltípus
string
. Kötelező. Engedélyezett értékek: AzureBlob
(Azure Blob), AzureVMs
(Azure-beli virtuális gépek).
Adja meg a céltípust.
storage
- RM-tárfiók
Bemeneti alias: StorageAccountRM
. string
. Kötelező.
Adjon meg egy meglévő ARM-tárfiókot. Ez az a tárfiók, amelyet közvetítőként használnak a fájlok Azure-beli virtuális gépekre való másolásához.
ContainerName
- Tároló neve
string
. Akkor szükséges, ha Destination = AzureBlob
.
Annak a tárolónak a neve, amelybe a fájlokat átmásolja. Ha a megadott tároló nem létezik a tárfiókban, létrejön.
Ha virtuális könyvtárat szeretne létrehozni a tárolóban, használja a blobelőtag bemenetét. A célhelyhez https://myaccount.blob.core.windows.net/mycontainer/vd1/vd2/
például adja meg a tároló nevét mycontainer
és a blobelőtagot: vd1/vd2
.
BlobPrefix
- Blobelőtag
string
. Választható. Használja a következőt: Destination = AzureBlob
.
Adjon meg egy előtagot, amely a fájlok szűrésére használható.
Példa: Összefűzhet egy buildszámot, hogy az azonos buildszámmal rendelkező összes blobból szűrje a fájlokat.
Példa: Ha blobelőtagot myvd1
ad meg, a tárolóban létrejön egy virtuális könyvtár. A fájlokat a program a forrásból a következőre másolja: https://myaccount.blob.core.windows.net/mycontainer/myvd1/
.
resourceGroup
- Erőforráscsoport
Bemeneti alias: EnvironmentNameRM
. string
. Akkor szükséges, ha Destination = AzureVMs
.
Adja meg annak a célerőforráscsoportnak a nevét, amelybe a fájlokat átmásolja.
ResourceFilteringMethod
- Gépek kiválasztása
string
. Választható. Használja a következőt: Destination = AzureVMs
. Engedélyezett értékek: machineNames
(Gépnevek), tags
. Alapértelmezett érték: machineNames
.
Adjon meg egy virtuálisgép-gazdagépnevet vagy -címkét, amely egy erőforráscsoport virtuális gépeinek egy részét azonosítja. A címkék csak az Azure Resource Manager keresztül létrehozott erőforrások esetében támogatottak.
MachineNames
- Szűrési feltételek
string
. Választható. Használja a következőt: Destination = AzureVMs
.
Adja meg azoknak a virtuális gépeknek a nevét vagy címkeneveit, amelyek azonosítják a feladat által megcélzott virtuális gépeket. Az érvényes szűrőfeltételek a következők:
- Egy Azure-erőforráscsoport neve.
- Egy előző tevékenység kimeneti változója.
- Címkenevek vagy virtuálisgép-nevek vesszővel tagolt listája.
- Formázza a virtuális gépek nevét a teljes tartománynevek vagy IP-címek vesszővel tagolt listájával.
- Szűrő címkeneveinek formázása a következőként:
{TagName}:{Value}
. Például:Role:DB;OS:Win8.1
,ffweb
, ,ffdb
vagy címkék, példáulRole:DB
,Web
,OS:Win8.1
.
Megjegyzés: A címkék érvényes elválasztói a következők: ,(vessző), :(colon) és ;(semicolon). Ha több címkét ad meg, a feladat csak a megadott címkéket tartalmazó virtuális gépeken fog futni. Alapértelmezés szerint a feladat az összes virtuális gépen fut.
vmsAdminUserName
- Rendszergazda bejelentkezés
string
. Akkor szükséges, ha Destination = AzureVMs
.
Adja meg annak a fióknak a felhasználónevét, amely rendszergazdai engedélyekkel rendelkezik az összes cél virtuális gépen.
- A támogatott formátumok a következők:
username
,domain\username
,machine-name\username
, és.\username
. - Az UPN-formátumok, beleértve
username@domain.com
a beépített rendszerfiókokat, példáulNT Authority\System
nem támogatottak.
vmsAdminPassword
- Jelszó
string
. Akkor szükséges, ha Destination = AzureVMs
.
Adja meg a virtuális gépek rendszergazdai jelszavát.
Az érvényes bemenet tartalmazza az olyan buildelési vagy kiadási folyamatokban definiált változókat, mint például $(passwordVariable)
a . A jelszó biztonságossá tételéhez jelölje meg a jelszavát.secret
TargetPath
- Célmappát
string
. Akkor szükséges, ha Destination = AzureVMs
.
Adja meg annak a mappának az elérési útját az Azure-beli virtuális gépeken, amelyekbe a fájlok át lesznek másolva.
Az olyan környezeti változók támogatottak, mint a $env:windir
és $env:systemroot
a. Példák: $env:windir\FabrikamFiber\Web
és c:\FabrikamFiber
AdditionalArgumentsForBlobCopy
- Választható argumentumok (fájlok blobba való feltöltéséhez)
string
.
Adjon meg további argumentumokat, AzCopy.exe
amelyek alkalmazhatók blobokra való feltöltéskor, például /NC:10
: .
Ha nincs megadva választható argumentum, a rendszer alapértelmezés szerint az alábbi argumentumokat adja hozzá.
/Y
/SetContentType
/Z
/V
/S
- Akkor van hozzáadva, ha a tároló neve nem$root
./BlobType:page
-Hozzáadva, ha a megadott tárfiók prémium szintű fiók./Pattern
– Akkor lesz hozzáadva, ha a forrás elérési útja egy fájl. A többi megadott választható argumentum belefoglalva.
AdditionalArgumentsForVMCopy
- Választható argumentumok (fájlok virtuális gépre való letöltéséhez)
string
. Választható. Használja a következőt: Destination = AzureVMs
.
Adjon meg további argumentumokat AzCopy.exe
, amelyek alkalmazhatók a virtuális gépekre való letöltéskor, például /NC:10
: .
Ha nincs megadva választható argumentum, a rendszer alapértelmezés szerint az alábbiakat adja hozzá.
/Y
/S
/Z
/V
enableCopyPrerequisites
- Másolási előfeltételek engedélyezése
boolean
. Választható. Használja a következőt: Destination = AzureVMs
. Alapértelmezett érték: false
.
Ha engedélyezve van, egy önaláírt tanúsítvány használatával konfigurálja a Windows Remote Management (WinRM) figyelőt az 5986-os porton a HTTPS protokoll helyett. A másolási művelet Azure-beli virtuális gépeken való végrehajtásához szükséges. Ha a cél virtuális gépek terheléselosztót használnak, konfigurálja a bejövő NAT-szabályokat a célporthoz (5986). Csak ARM-alapú virtuális gépekre vonatkozik. Hálózati biztonsági csoporthoz (NSG) társított cél virtuális gépeken konfiguráljon egy bejövő biztonsági szabályt az 5986-os porton való hozzáférés engedélyezéséhez.
CopyFilesInParallel
- Másolás párhuzamosan
boolean
. Választható. Használja a következőt: Destination = AzureVMs
. Alapértelmezett érték: true
.
Itt adhatja meg true
, hogy a cél virtuális gépekkel párhuzamosan szeretné-e másolni a fájlokat. Ennek az értéknek a használatával csökkentheti a művelet végrehajtásához szükséges időt.
CleanTargetBeforeCopy
- Tiszta cél
boolean
. Választható. Használja a következőt: Destination = AzureVMs
. Alapértelmezett érték: false
.
Ennek az értéknek a beállításával true
törli a célmappát a másolási művelet végrehajtása előtt.
skipCACheck
- Tanúsítvány tesztelése
boolean
. Választható. Használja a következőt: Destination = AzureVMs
. Alapértelmezett érték: true
.
Az alapértelmezett érték nem ellenőrzi, hogy a kiszolgálótanúsítványt egy megbízható hitelesítésszolgáltató írta-e alá, mielőtt HTTPS-en keresztül csatlakozik.
outputStorageUri
- Tároló URI-ja
string
.
Adja meg annak a tárolónak az URI-jának a nevét, amelybe a fájlokat másolta. Csak akkor érvényes, ha a kiválasztott cél egy Azure-blob.
outputStorageContainerSasToken
- Tároló SAS-jogkivonata
string
.
Adja meg a tároló SAS-jogkivonatához használt változó nevét, amely hozzáfér a másolt fájlokhoz. Használja ezt a változót a későbbi tevékenységek bemeneteként. Alapértelmezés szerint az SAS-jogkivonat 4 óra elteltével lejár.
sasTokenTimeOutInMinutes
- SAS-jogkivonat lejárati ideje percekben
string
.
Adja meg azt az időt percben, amely után az SAS-jogkivonat lejár. Csak akkor érvényes, ha a kiválasztott cél az Azure Blob.
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
A Verzió AzureFileCopy@3 újdonságai
AzureFileCopy@3 támogatja az Az Modult, és leállította a klasszikus Azure-szolgáltatásvégpont támogatását.
A feladat az alkalmazás telepítéséhez szükséges alkalmazásfájlok és egyéb összetevők, például PowerShell-szkriptek, PowerShell-DSC-modulok stb. másolására szolgál.
Ha a cél Azure-beli virtuális gépek, a rendszer először egy automatikusan létrehozott Azure Blob-tárolóba másolja a fájlokat, majd letölti őket a virtuális gépekre. A tároló törlődik, miután a fájlok sikeresen át lettek másolva a virtuális gépekre.
A feladat az AzCopy parancssori segédprogramot használja, amely az adatok Azure Storage-fiókokból és -fiókokba történő gyors másolására készült. A feladat 3- vagy újabb verziója az AzCopy V7-et használja.
A virtuális gépeket tartalmazó Azure-erőforráscsoportok dinamikus üzembe helyezéséhez használja az Azure-erőforráscsoport üzembehelyezési feladatát. Ez a feladat rendelkezik egy mintasablonnal, amely képes elvégezni a szükséges műveleteket a WinRM HTTPS protokoll virtuális gépeken való beállításához, az 5986-os port tűzfalon való megnyitásához és a teszttanúsítvány telepítéséhez.
Megjegyzés
Ha az Azure Static Websitesban helyez üzembe tárolóként a Blob Storage-ban, használja a 2. vagy újabb verziót a $web tároló nevének megőrzéséhez.
GYIK
Mik a feladat használatának Azure PowerShell előfeltételei?
A feladathoz telepíteni kell Azure PowerShell az Automation-ügynököt futtató gépen. Az ajánlott verzió az 1.0.2, de a feladat a 0.9.8-es és újabb verzióval működik. A javasolt verzió beszerzéséhez használja a Azure PowerShell Installer 1.0.2-es verzióját.
Mik a feladat WinRM-előfeltételei?
A feladat a WinRM HTTPS protokoll használatával másolja a fájlokat a storage blobtárolóból az Azure-beli virtuális gépekre. A WinRM HTTPS szolgáltatást konfigurálni kell a virtuális gépeken, és telepíteni kell egy megfelelő tanúsítványt.
Ha a virtuális gépek a WinRM HTTPS-portok megnyitása nélkül jönnek létre, kövesse az alábbi lépéseket:
- Konfiguráljon egy bejövő hozzáférési szabályt, hogy engedélyezze a HTTPS-t az egyes virtuális gépek 5986-os portján.
- Tiltsa le az UAC távoli korlátozásait.
- Adja meg a feladat hitelesítő adatait, hogy tartományhivatkozás nélkül, rendszergazdai szintű bejelentkezéssel férhessen hozzá a virtuális gépekhez.
- Telepítsen egy tanúsítványt az automation-ügynököt futtató gépen.
- Állítsa be a feladat Teszttanúsítvány paraméterét egy önaláírt tanúsítványhoz.
Milyen típusú szolgáltatáskapcsolatot válasszak?
Az alábbi táblázat a tárfiókok típusait és a társított szolgáltatáskapcsolatokat sorolja fel. Annak megállapításához, hogy a tárfiókok a klasszikus API-kon vagy a Resource Manager API-kon alapulnak-e, jelentkezzen be a Azure Portal, és keressen rá a (klasszikus) vagy storage-fiókokra.
Tárfiók típusa | Azure-szolgáltatáskapcsolatok a TFS-ben/TS-ben |
---|---|
Resource Manager | Azure Resource Manager-szolgáltatáskapcsolat |
Klasszikus | Azure-szolgáltatáskapcsolat tanúsítványalapú vagy hitelesítő adatokon alapuló hitelesítéssel iskolai vagy munkahelyi fiókkal |
A klasszikus Azure-erőforrásokhoz használjon azure-szolgáltatáskapcsolattípust tanúsítvánnyal vagy hitelesítő adatokon alapuló hitelesítéssel. Ha hitelesítő adatokon alapuló hitelesítést használ, győződjön meg arról, hogy a hitelesítő adatok iskolai vagy munkahelyi fiókhoz tartoznak. Az olyan Microsoft-fiókok, mint a
joe@live.com
ésjoe@hotmail.com
a, nem támogatottak.Azure Resource Manager virtuális gépek esetén használjon Azure Resource Manager szolgáltatáskapcsolattípust. További részletekért lásd: Azure-erőforráscsoport üzembe helyezésének automatizálása szolgáltatásnév használatával.
Ha Azure Resource Manager szolgáltatáskapcsolattípust vagy tanúsítványalapú hitelesítéssel rendelkező Azure-szolgáltatáskapcsolattípust használ, a feladat automatikusan szűri a megfelelő klasszikus tárfiókokat, az újabb Azure Resource Manager-tárfiókokat és egyéb mezőket. Például az erőforráscsoportot vagy a felhőszolgáltatást, valamint a virtuális gépeket.
Megjegyzés
A hitelesítő adatokon alapuló hitelesítéssel rendelkező Azure-szolgáltatáskapcsolat-típus jelenleg nem szűri a tároló, az erőforráscsoport vagy a felhőszolgáltatás és a virtuális gép mezőit.
Hogyan "403: Ez a kérés nem jogosult a művelet végrehajtására ezzel az engedéllyel"?
Amikor az Azure DevOps létrehozza és engedélyezi az Azure szolgáltatáskapcsolatát, alkalmazásregisztrációt hoz létre az előfizetés Active Directoryjában. Ezt az identitást a rendszer automatikusan hozzáadja egy Contributor
szerepkörrel az engedélyezni kívánt erőforráscsoport összes erőforrásához. Ahhoz, hogy blobokat töltsön fel egy tárfiókba, Contributor
az nem elég. A szerepkörtStorage Blob Data Contributor
manuálisan kell hozzárendelnie az alkalmazásregisztrációs identitáshoz.
Másolja ki az alkalmazásidentitást a meglévő örökölt bejegyzésből, ahogyan Contributor
az az IAM panelen látható, és explicit módon keressen rá a Add role assignment
felhasználói felületen. Az identitás nem szerepel a legördülő listában, meg kell keresnie annak azonosítóját.
Mi történik, ha az erőforráscsoportom klasszikus és Resource Manager virtuális gépeket is tartalmaz?
Ha a megadott erőforráscsoport Azure-Resource Manager és klasszikus virtuális gépeket is tartalmaz, a megcélzott virtuális gépek halmaza a kapcsolat típusától függ.
- Tanúsítványalapú kapcsolatok és hitelesítő adatokon alapuló kapcsolatok esetén a másolási művelet csak klasszikus virtuális gépeken történik.
- A szolgáltatásnév-alapú kapcsolatok esetében a másolási művelet csak Resource Manager virtuális gépeken történik.
Hogyan hozzon létre egy iskolai vagy munkahelyi fiókot a feladathoz való használatra?
A szolgáltatáskapcsolatban való használatra könnyen létrehozható egy megfelelő fiók:
- Az Azure Portal használatával hozzon létre egy új felhasználói fiókot az Azure Active Directoryban.
- Adja hozzá az Azure Active Directory felhasználói fiókot az Azure-előfizetés társadminisztrátori csoportjához.
- Jelentkezzen be a Azure Portal ezzel a felhasználói fiókkal, és módosítsa a jelszót.
- Használja a fiók új hitelesítő adatait a szolgáltatáskapcsolatban. Az üzemelő példányok feldolgozása ezzel a fiókkal történik.
Példák
# Example: Upload files from Pipeline staging directory to blob storage.
- task: AzureFileCopy@3
displayName: 'Example Step Name'
inputs:
sourcePath: '$(Build.ArtifactStagingDirectory)/BlobsToUpload'
additionalArgumentsForBlobCopy: |
'/Y' # Supresses all AZCopy Confirmations. Used here to allow overwrites
'/Pattern:*' # Pattern of files to copy.
'/S' # Recursive Copy
azureSubscription: 'Subscription Name'
destination: AzureBlob
storage: storageaccountname
containerName: storagecontainername
blobPrefix: targetdirectoryincontainer
Követelmények
Követelmény | Leírás |
---|---|
Folyamattípusok | YAML, klasszikus build, klasszikus kiadás |
Futtatás | Ügynök, DeploymentGroup |
Igények | A saját üzemeltetésű ügynököknek olyan képességekkel kell rendelkezniük , amelyek megfelelnek az alábbi követelményeknek a feladatot használó feladatok futtatásához: azureps |
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.103.0 vagy újabb |
Feladatkategória | Üzembe helyezés |