AzureFileCopy@6 – Azure-fájlmásolási v6-feladat
Fájlok másolása Azure Blob Storage vagy virtuális gépekre.
A feladat ezen verziója támogatja a számításifeladat-identitások összevonását, és az Azure RBAC-t használja az Azure Storage eléréséhez. Az Azure RBAC használatából adódóan a SAS-jogkivonatok már nem lesznek használatban. További információkért lásd a Megjegyzések szakaszt .
Syntax
# Azure file copy v6
# Copy files to Azure Blob Storage or virtual machines.
- task: AzureFileCopy@6
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. Clean Target. Default: false.
#skipCACheck: true # boolean. Optional. Use when Destination = AzureVMs. Test Certificate. Default: true.
Bevitelek
SourcePath
- Forrás
string
. Kötelező.
A forrásfájlok helye. A támogatott értékek közé tartoznak a YAML-folyamatok és a klasszikus kiadás támogatása előre definiált rendszerváltozók , például a Build.Repository.LocalPath.
A kiadási változók csak a klasszikus kiadásokban támogatottak. A helyettesítő kártya szimbólum (*) a fájl elérési útján vagy a fájlnévben bárhol támogatott.
A kifejezésnek egyetlen mappát vagy fájlt kell visszaadnia.
azureSubscription
- Azure-előfizetés
Bemeneti alias: ConnectedServiceNameARM
. string
. Kötelező.
Adja meg a cél Azure-szolgáltatást, virtuális gépet vagy tárfiókot 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él típusa
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 már meglévő ARM-tárfiókot. Ez a tárfiók a fájlok Azure-beli virtuális gépekre történő másolásának közvetítőjeként.
ContainerName
- Tároló neve
string
. Akkor szükséges, ha Destination = AzureBlob
.
Annak a tárolónak a neve, amelybe a fájlokat másolni kell. Ha a megadott tároló nem létezik a tárfiókban, akkor létrejön.
Ha virtuális könyvtárat szeretne létrehozni a tárolóban, használja a blobelőtag-bemenetet. 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 a cél virtuális könyvtárhoz az Azure Blob-tárolóban. Ez akkor érvényes, ha a SourcePath
tartalmaz egy helyettesítő karaktert, amely több elemnek is megfelelhet.
Példa: Hozzáfűzhet egy buildszámot, hogy az összes blob fájljait előtagként adhatja hozzá ugyanazzal a buildszámmal.
Példa: Ha megad egy blobelőtagot myvd1
, a tárolóban létrejön egy virtuális könyvtár. A fájlokat a rendszer a forrásból a következőbe másolja: https://myaccount.blob.core.windows.net/mycontainer/myvd1/
.
Abban az esetben, ha az SourcePath
egyetlen elem helyettesítő karakter nélkül, ez a blobelőtag lesz a célblob neve.
resourceGroup
- Erőforráscsoport
Bemeneti alias: EnvironmentNameRM
. string
. Akkor szükséges, ha Destination = AzureVMs
.
Adja meg annak a cél erőforráscsoportnak a nevét, amelybe a fájlokat át szeretné másolni.
ResourceFilteringMethod
- Gépek kiválasztása a következő szerint:
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 azonosítja az erőforráscsoportban lévő virtuális gépek egy részhalmazát. 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.
- Egy szűrő címkeneveinek formázása példaként
{TagName}:{Value}
:Role:DB;OS:Win8.1
vmsAdminUserName
- Rendszergazda bejelentkezés
string
. Akkor szükséges, ha Destination = AzureVMs
.
Adja meg egy fiók felhasználónevét rendszergazdai engedélyekkel 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 paraméter jelszavát Admin Login
.
A változó megkereséséhez keresse meg a paramétert Admin Login
. Válassza a lapon definiált változó lakat ikonját az Variables
érték védelméhez, és szúrja be ide a változó nevét.
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ájlokat átmásolja.
Az olyan környezeti változók, mint a $env:windir
és $env:systemroot
a, támogatottak. Példák: $env:windir\FabrikamFiber\Web
és c:\FabrikamFiber
AdditionalArgumentsForBlobCopy
- Nem kötelező argumentumok (fájlok blobba való feltöltéséhez)
string
.
Adjon meg további argumentumokat a AzCopy.exe
blobba való feltöltéshez és a virtuális gépekre való letöltéshez. További információt az Adatok átvitele az AzCopy Command-Line segédprogrammal című témakörben talál.
A csak az Azure-lapblobokat támogató Prémium szintű tárfiókok esetében további argumentumként használja a függvényt --blob-type=PageBlob
.
Az alapértelmezett argumentumok a következők: --log-level=INFO
(alapértelmezett) és --recursive
(ha a tároló neve nem $root
).
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 a virtuális gépekre való letöltéskor lesznek alkalmazva, például: --check-length=true
.
Ha nincs megadva választható argumentum, a rendszer alapértelmezés szerint az alábbiakat adja hozzá:
--log-level=INFO
--log-level=DEBUG
(Ha a folyamat hibakeresési módban fut)--recursive
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, ez a beállítás egy önaláírt tanúsítvánnyal konfigurálja a Windows Remote Management (WinRM) figyelőt az 5986-os porton lévő HTTPS protokollon keresztül. Ez a konfiguráció szükséges az Azure-beli virtuális gépek másolási műveleteinek végrehajtásához. Csak ARM-alapú virtuális gépekre alkalmazható.
- Ha a cél virtuális gépek egy terheléselosztón keresztül érhetők el, konfiguráljon egy bejövő NAT-szabályt, hogy engedélyezze a hozzáférést az 5986-os porton.
- Ha a cél virtuális gépek hálózati biztonsági csoporthoz (NSG-hez) vannak társítva, 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.
CleanTargetBeforeCopy
- Tiszta cél
boolean
. Alapértelmezett érték: false
.
Adja meg true
, hogy a fájlok másolása előtt törölje a célmappát.
skipCACheck
- Tanúsítvány tesztelése
boolean
. Választható. Használja a következőt: Destination = AzureVMs
. Alapértelmezett érték: true
.
A WinRM tanúsítványt igényel a HTTPS-átvitelhez, amikor fájlokat másol a köztes tárolóblobból az Azure-beli virtuális gépekre.
Ha önaláírt tanúsítványt használ, adja meg true
, hogy a folyamat ne érvényesíthesse a tanúsítványt megbízható hitelesítésszolgáltatóval.
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
Ez a feladat a következő kimeneti változókat határozza meg, amelyeket az alsóbb rétegbeli lépésekben, feladatokban és szakaszokban használhat fel.
StorageContainerUri
Annak a tárolónak az URI-ja, ahová a fájlokat átmásolták. Csak akkor érvényes, ha a kiválasztott cél az Azure Blob.
Megjegyzések
AzureFileCopy@6
támogatja a számítási feladatok identitás-összevonását, és az Azure RBAC-t használja az Azure Storage eléréséhez.
Az Azure RBAC használata miatt a rendszer már nem használja az SAS-jogkivonatokat, és eltávolítja a sasTokenTimeOutInMinutes
tevékenységbemenetet.
Előfordulhat, hogy letiltja a tárfiókkulcsok és SAS-jogkivonatok használatát a tárfiókokban. Ezekben az esetekben az SAS-jogkivonatokra támaszkodó AzureFileCopy@5 feladat nem használható.
A AzureFileCopy@6
feladat az Azure RBAC-t használja a Blob Storage eléréséhez. Ehhez a megfelelő RBAC-szerepkörhöz használt szolgáltatáskapcsolat identitására van szükség, például a Storage-blobadatok közreműködője. Lásd: Azure-szerepkör hozzárendelése a blobadatokhoz való hozzáféréshez.
A AzureFileCopy@6 feladat a számítási feladatok identitás-összevonását használó szolgáltatáskapcsolatokat is támogatja.
Megjegyzés
Ez a feladat a PowerShellben van megírva, és csak Windows-ügynökökön futtatva működik. Ha a folyamatok linuxos ügynököket igényelnek, és fájlokat kell másolniuk egy Azure Storage-fiókba, fontolja meg a parancsok futtatását az storage blob
az Azure CLI-feladatban alternatívaként.
A feladat az alkalmazás telepítéséhez szükséges alkalmazásfájlok és egyéb összetevők másolására szolgál; például PowerShell-szkriptek, PowerShell-DSC-modulok stb.
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 gyors másolásához készült az Azure Storage-fiókokból és -fiókokba. Az Azure File Copy feladat 6. verziója az AzCopy V10-et használja.
Az Azure File Copy 6-os verziójához az Azure Storage-nak engedélyeznie kell az Microsoft Entra ID. A szolgáltatásnévvel és felügyelt identitással történő hitelesítés elérhető. Felügyelt identitások esetén csak a rendszerszintű felügyelt identitások támogatottak. A szükséges engedélyezési szint az 1. lehetőség: A Microsoft Entra ID használata című témakörben látható.
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 beállításához a virtuális gépeken, megnyitni az 5986-os portot a tűzfalon, és telepíteni a teszttanúsítványt.
Megjegyzés
Ha a Blob Storage-ban tárolóként helyezi üzembe az Azure Static Websitest, használja a feladat 2. vagy újabb verzióját a $web tároló nevének megőrzéséhez.
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 fog működni. Ezt a Azure PowerShell Installer 1.0.2-s verzióval szerezheti be.
Mik a feladat WinRM-előfeltételei?
A feladat a Windows Remote Management (WinRM) HTTPS protokollal másolja a fájlokat a storage blobtárolóból az Azure-beli virtuális gépekre. Ehhez konfigurálnia kell a WinRM HTTPS szolgáltatást a virtuális gépeken, és telepítenie kell egy megfelelő tanúsítványt.
A WinRM konfigurálása a virtuális gép létrehozása után
Ha a virtuális gépek a WinRM HTTPS-portok megnyitása nélkül lettek létrehozva, hajtsa végre a következőket:
- 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 feladathoz tartozó hitelesítő adatokat, hogy rendszergazdai szintű bejelentkezéssel érhesse el a virtuális gépeket az egyszerű, tartományrész nélküli felhasználónévben .
- Telepítsen egy tanúsítványt az automation-ügynököt futtató gépen.
- Ha önaláírt tanúsítványt használ, állítsa be a feladat Teszttanúsítvány paraméterét.
Milyen típusú szolgáltatáskapcsolatot válasszak?
Az Azure Resource Manager storage-fiókok és az Azure Resource Manager virtuális gépek esetében használjon Azure Resource Manager szolgáltatáskapcsolattípust. Lásd: Azure-erőforráscsoport üzembe helyezésének automatizálása szolgáltatásnév használatával.
Az Azure Resource Manager szolgáltatás kapcsolattípusának használatakor a feladat automatikusan szűri a megfelelő újabb Azure Resource Manager tárfiókokat és más mezőket. Például az erőforráscsoportot vagy a felhőszolgáltatást, valamint a virtuális gépeket.
Hogyan hozzon létre egy iskolai vagy munkahelyi fiókot a feladathoz való használatra?
A szolgáltatáskapcsolatban való használatra megfelelő fiók hozható létre:
- 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 hitelesítő adatait a szolgáltatáskapcsolatban. A rendszer ezután ezzel a fiókkal dolgozza fel az üzemelő példányokat.
Ha a feladat meghiúsul, folytatódik a másolás?
Mivel az AzCopy 10-es verziója nem támogatja a naplófájlok használatát, a feladat nem folytathatja a másolást. Az összes fájl másolásához újra le kell futtatnia a feladatot.
A naplófájlok és a tervfájlok törlődnek a másolat után?
A napló- és tervfájlokat a feladat nem törli. A fájlok explicit törléséhez adjon hozzá egy CLI-lépést a munkafolyamathoz az azcopy jobs clean paranccsal.
Hogyan az Azure fájlmásolási feladatával másolhat egy fájlt egy olyan Azure-beli virtuális gépre, amely nem rendelkezik nyilvános IP-címmel?
Győződjön meg arról, hogy az Azure-fájlmásolási feladat 5. verzióját használja. Ha a feladat sikertelen, hozzáadhat egy buildelési lépést a parancs azcopy cp "source-file-path" "destination-file-path"
futtatásához a forrás- és célértékek helyettesítéséhez.
Tiltott hiba: "AzCopy.exe nem nulla kilépési kóddal lépett ki, miközben fájlokat tölt fel a Blob Storage-ba" az Azure File Copy feladat használata során
Az üzemeltetett ügynököket a rendszer véletlenszerűen rendeli hozzá minden build aktiválásakor, az ügynök IP-címei minden futtatáskor eltérőek lesznek. Ha ezek az IP-címek nem szerepelnek az ENGEDÉLYEZETT IP-címek listájában, az Azure DevOps és a tárfiók közötti kommunikáció meghiúsul. Ilyen esetekben kövesse az alábbi lépéseket:
- Adjon hozzá egy buildelési lépést az Azure CLI-vel a Microsoft Hosted Build-ügynök IP-címének azonosításához futásidőben. Hozzáadja az IP-címet az Azure Storage-fiók hálózati szabályához.
- Futtassa az Azure Storage-fiók buildelési lépését.
- Adjon hozzá egy újabb buildelési lépést az Azure CLI használatával, hogy eltávolítsa a buildügynök IP-címét az Azure Storage-fiók hálózati szabályából.
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 tevékenység 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 |
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: