Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Az Azure DevTest Labs-környezetekkel egyszerűen és következetesen építhet ki tesztkörnyezeteket több virtuális géppel (virtuális gépekkel) és szolgáltatásként nyújtott platform (PaaS) erőforrásokkal. Ez a cikk bemutatja, hogyan hozhat létre DevTest Labs-környezeteket az Azure Resource Manager-sablonokból . Ezzel a módszerrel létrehozhat egy tesztkörnyezetet egy többrétegű webalkalmazáshoz vagy egy SharePoint-farmhoz.
A DevTest Labs-környezetben lévő erőforrások azonos életciklussal rendelkeznek. Ezeket együtt kezelheti, és nyomon követheti az egyes PaaS-erőforrások költségeit a tesztkörnyezetben, ahogyan az egyes virtuális gépek költségeit is nyomon követheti.
Konfigurálhat egy tesztkörnyezetet arm-környezetsablonok használatára nyilvános vagy privát Git-sablontárakból. Az alábbi ábra bemutatja, hogy a DevTest Labs hogyan használ ARM-sablont egy nyilvános vagy privát adattárból egy virtuális gépeket és más erőforrásokat tartalmazó környezet üzembe helyezéséhez.
Feljegyzés
Ha nagyvállalati szintű PaaS-erőforrásokat, szabályzatokat és biztonsági beállításokat, illetve a CI/CD-integrációt kell kezelnie az üzembe helyezési szakaszok és alkalmazások között, fontolja meg az Azure Deployment Environments (ADE) használatát környezetek létrehozásához. Az ADE lehetővé teszi a fejlesztők számára az alkalmazásinfrastruktúra gyors üzembe helyezését projektalapú sablonok használatával, így konzisztens és biztonságos környezetet biztosítanak a fejlesztői csapatok számára. További információkért tekintse meg az Azure Deployment Environments dokumentációját.
Előfeltételek
- Ahhoz, hogy sablontárakat adjon hozzá vagy konfiguráljon egy laborhoz, legalább közreműködői engedéllyel kell rendelkeznie a laborban.
- Ahhoz, hogy Azure DevTest-környezeteket hozzon létre az elérhető ARM-sablonokból, legalább DevTest-felhasználói engedélyekkel kell rendelkeznie a laborban.
- Ha a PowerShell-szkriptet az Automate környezetlétrehozásban szeretné futtatni, az Azure PowerShell telepítve van a
Az.Resourcesmodullal.
Korlátozások
A DevTest Labs ARM-környezetsablonjaiból létrehozott környezetek a következő korlátozásokkal rendelkeznek:
A virtuális gépek autoshutdown funkciója nem támogatott.
A következő laborszabályzatok nincsenek kényszerítve vagy kiértékelve:
- Virtuális gépek száma tesztkörnyezet-felhasználónként
- Prémium szintű virtuális gépek száma felhasználónként
- Prémium szintű lemezek száma felhasználónként
Ha például a laborszabályzat csak öt virtuális gép létrehozását teszi lehetővé, a felhasználó üzembe helyezhet egy ARM-környezetsablont, amely több tucat virtuális gépet hoz létre.
Sablontárak konfigurálása tesztkörnyezetekhez
A tesztkörnyezetet úgy konfigurálhatja, hogy ARM-környezetsablonokat használjon a DevTest Labs nyilvános ARM-sablontárából és más nyilvános vagy privát Git-adattárakból. Amikor engedélyezi a tesztkörnyezet hozzáférését egy sablontárhoz, a tesztkörnyezet felhasználói gyorsan létrehozhatnak környezeteket az Azure Portal sablonjainak kiválasztásával, hasonlóan a virtuális gépek létrehozásához.
A DevTest Labs nyilvános ARM-sablontárában előre elkészített környezetsablonok találhatók az Azure Web Appshez, egy Azure Service Fabric-fürthöz és a fejlesztési SharePoint-farmokhoz. A PaaS-erőforrások zökkenőmentes használatbavétele érdekében a sablonok minimális bemeneti paraméterekkel rendelkeznek.
A nyilvános környezet sablonjait igény szerint használhatja, vagy testre szabhatja őket. A nyilvános sablon változatait vagy kiegészítéseit úgy is javasolhatja, hogy lekéréses kérelmet küld a GitHub nyilvános sablontárházába.
A környezetsablonokat más nyilvános vagy privát Git-adattárakban is tárolhatja, és ezeket az adattárakat hozzáadhatja a laborhoz, hogy a sablonokat elérhetővé tegye az összes tesztkörnyezet-felhasználó számára. Útmutatásért lásd: Arm-sablonok tárolása a Git-adattárakban , és sablontárak hozzáadása a laborokhoz.
Nyilvános környezet beállításainak konfigurálása
Engedélyezheti a tesztkörnyezet hozzáférését a DevTest Labs nyilvános sablontárához egy új vagy meglévő tesztkörnyezethez. Ha engedélyezi az adattárhoz való hozzáférést, kiválaszthatja, hogy mely környezeti sablonokat tegye elérhetővé a tesztkörnyezet felhasználói számára.
Nyilvános környezet hozzáférésének konfigurálása új tesztkörnyezethez
Ha új tesztkörnyezet létrehozásakor szeretné konfigurálni a nyilvános környezet adattár-hozzáférését, az Alapbeállítások lapon állítsa be vagyki a Nyilvános környezetek beállítást. Ez a beállítás alapértelmezés szerint Be értékre van állítva.
Nyilvános környezet hozzáférésének konfigurálása meglévő tesztkörnyezethez
A nyilvános környezeti adattár hozzáférésének engedélyezése vagy letiltása egy meglévő tesztkörnyezetben:
A tesztkörnyezet Azure Portaláttekintési lapján válassza a Konfiguráció és szabályzatok lehetőséget a bal oldali navigációs menü Beállítások területén.
A Konfiguráció és szabályzatok lapon bontsa ki a virtuálisgép-bázisokat a bal oldali menüben, és válassza a Nyilvános környezetek lehetőséget.
A Nyilvános környezetek lapon állítsa a tesztkörnyezethez tartozó Nyilvános környezetek engedélyezése beállítást Igen vagy Nem értékre.
Válassza a Mentés lehetőséget.
Elérhető nyilvános környezetsablonok kiválasztása
Ha engedélyezi a nyilvános környezeti adattárat egy tesztkörnyezethez, az adattárban lévő összes környezeti sablon alapértelmezés szerint elérhető a tesztkörnyezet felhasználói számára. A kijelölt sablonokhoz való hozzáférést letilthatja. A letiltott sablonok már nem jelennek meg a felhasználók által létrehozható környezetek listájában.
Adott környezeti sablonokhoz való hozzáférés letiltása:
A labor Azure Portál Konfigurációk és szabályzatok>virtuális gép alapjai>nyilvános környezetek lapján törölje a letiltani kívánt környezetek melletti jelölőnégyzetek kijelölését.
Válassza a Mentés lehetőséget.
Környezeti felhasználói engedélyek konfigurálása
Alapértelmezés szerint a tesztkörnyezet felhasználói az Olvasó szerepkörhöz vannak rendelve az általuk létrehozott környezetekben. Az olvasók nem állíthatják le, nem indíthatják el és nem módosíthatják az olyan környezeti erőforrásokat, mint az SQL-kiszolgálók vagy az adatbázisok. Ha engedélyezni szeretné, hogy a tesztkörnyezet felhasználói szerkeszthessék a környezetükben lévő erőforrásokat, közreműködői szerepkört adhat nekik a környezetük erőforráscsoportjában.
A tesztkörnyezet Azure Portaláttekintési lapján válassza a Konfiguráció és szabályzatok lehetőséget a bal oldali navigációs menü Beállítások területén.
A Konfiguráció és szabályzatok lapon bontsa ki a beállításokat a bal oldali menüben, és válassza a Tesztkörnyezet beállításai lehetőséget.
A Tesztkörnyezet beállításai lap Környezeti hozzáférés területén állítsa be az erőforráscsoport felhasználói jogosultsági beállításait Közreműködőre.
Válassza a Mentés lehetőséget.
Környezetek létrehozása sablonokból
Ha a tesztkörnyezet nyilvános vagy privát sablontárak használatára van konfigurálva, létrehozhat egy környezetet egy elérhető ARM-sablon kiválasztásával, hasonlóan egy virtuális gép (VM) létrehozásához. Kövesse az alábbi lépéseket a környezet sablonból való létrehozásához.
A tesztkörnyezet Azure Portaláttekintési lapján válassza a Saját környezetek lehetőséget a Saját tesztkörnyezet területen a bal oldali navigációs menüben.
A Saját környezetek lapon válassza a Hozzáadás lehetőséget.
Az Alaplap kiválasztása lapon válassza ki a létrehozni kívánt környezetet.
A Hozzáadás panelen adja meg a környezet nevét , és konfigurálja a többi paraméterbeállítást.
- Minden ARM-környezetsablon egyedi paramétereket tartalmaz. Környezet hozzáadásakor meg kell adnia az összes szükséges paraméter értékét piros csillagokkal jelölve.
- Egy azuredeploy.parameters.json ARM-sablonfájl egyes paraméterértékei üres beállításmezőket hoznak létre, alapértelmezett érték nélkül a Hozzáadás panelen. Ezek az értékek a következők:
GEN-UNIQUE,GEN-UNIQUE-[N],GEN-SSH-PUB-KEYésGEN-PASSWORD. - Az Azure Key Vault titkait olyan titkosított szövegrészekként használhatja, mint a jelszavak. További információ: Titkos kulcsok tárolása az Azure Key Vaultban.
Válassza a Hozzáadás lehetőséget. A környezet azonnal megkezdi a kiépítést.
A környezet kiépítésének folyamata hosszú időt vehet igénybe. A teljes idő a DevTest Labs által a tesztkörnyezet részeként létrehozott szolgáltatáspéldányok, virtuális gépek és egyéb erőforrások számától függ.
A kiépítés állapotát a Saját környezetek lapon figyelheti. Válassza az eszköztár Frissítés elemét a lapnézet frissítéséhez és az aktuális állapot ellenőrzéséhez. Amíg a kiépítés folyamatban van, a környezet állapota Létrehozás. A kiépítés befejezése után az állapot készre változik.
Ha a környezet készen áll, kibonthatja a környezetet a Saját környezetek listában, és megtekintheti a kiépített virtuális gépeket.
Az üzembe helyezés létrehoz egy új erőforráscsoportot az ARM-sablon által definiált összes környezeti erőforrás kiépítéséhez. Válassza ki a környezetet a Saját környezetek listában az erőforráscsoport és a sablon által létrehozott összes erőforrás megtekintéséhez.
Válasszon ki egy virtuális gépet a listában a virtuális gép tulajdonságainak és az elérhető műveleteknek, például a konfiguráció, az ütemezések és a szabályzatok kezelésének megtekintéséhez.
Környezet létrehozásának automatizálása
Ha több környezetet kell létrehoznia fejlesztési vagy tesztelési forgatókönyvekhez, az Azure PowerShell vagy az Azure CLI használatával automatizálhatja a környezetek ARM-sablonokból való üzembe helyezését. Az alábbi lépések bemutatják, hogyan automatizálhatja az ARM-környezetsablonok üzembe helyezését az Azure PowerShell-paranccsal New-AzResource .
Az üzembe helyezést az Azure CLI az deployment group create paranccsal is automatizálhatja. További információ: Erőforrások üzembe helyezése ARM-sablonokkal és az Azure CLI-vel.
Tárolja az ARM-környezetsablont egy Git-adattárban , és adja hozzá az adattárat a laborhoz.
Mentse a következő PowerShell-szkriptet a számítógépre deployenv.ps1. Ez a szkript meghívja az ARM-sablont, hogy létrehozza a környezetet a laborban.
#Requires -Module Az.Resources [CmdletBinding()] param ( # ID of the Azure subscription for the lab [string] [Parameter(Mandatory=$true)] $SubscriptionId, # Name of the lab in which to create the environment [string] [Parameter(Mandatory=$true)] $LabName, # Name of the template repository connected to the lab [string] [Parameter(Mandatory=$true)] $RepositoryName, # Name of the template (folder name in the GitHub repository) [string] [Parameter(Mandatory=$true)] $TemplateName, # Name of the environment to create in the lab [string] [Parameter(Mandatory=$true)] $EnvironmentName, # The parameters to pass to the template. Each parameter is prefixed with "-param_". # For example, if the template has a parameter named "TestVMName" with a value of "MyVMName", # the string in $Params is "-param_TestVMName MyVMName". # This convention allows the script to dynamically handle different templates. [Parameter(ValueFromRemainingArguments=$true)] $Params ) # Sign in to Azure, or comment out this statement to completely automate environment creation. Connect-AzAccount # Select the subscription for your lab. Set-AzContext -SubscriptionId $SubscriptionId | Out-Null # Get the user ID to use later in the script. $UserId = $((Get-AzADUser -UserPrincipalName ((Get-AzContext).Account).Id).Id) # Get the lab location. $lab = Get-AzResource -ResourceType "Microsoft.DevTestLab/labs" -Name $LabName if ($lab -eq $null) { throw "Unable to find lab $LabName in subscription $SubscriptionId." } # Get information about the repository connected to your lab. $repository = Get-AzResource -ResourceGroupName $lab.ResourceGroupName ` -ResourceType 'Microsoft.DevTestLab/labs/artifactsources' ` -ResourceName $LabName ` -ApiVersion 2016-05-15 ` | Where-Object { $RepositoryName -in ($_.Name, $_.Properties.displayName) } ` | Select-Object -First 1 if ($repository -eq $null) { throw "Unable to find repository $RepositoryName in lab $LabName." } # Get information about the ARM template base for the environment. $template = Get-AzResource -ResourceGroupName $lab.ResourceGroupName ` -ResourceType "Microsoft.DevTestLab/labs/artifactSources/armTemplates" ` -ResourceName "$LabName/$($repository.Name)" ` -ApiVersion 2016-05-15 ` | Where-Object { $TemplateName -in ($_.Name, $_.Properties.displayName) } ` | Select-Object -First 1 if ($template -eq $null) { throw "Unable to find template $TemplateName in lab $LabName." } # Build the template parameters by using parameter names and values. $parameters = Get-Member -InputObject $template.Properties.contents.parameters -MemberType NoteProperty | Select-Object -ExpandProperty Name $templateParameters = @() # Extract the custom parameters from $Params and format them as name/value pairs. $Params | ForEach-Object { if ($_ -match '^-param_(.*)' -and $Matches[1] -in $parameters) { $name = $Matches[1] } elseif ( $name ) { $templateParameters += @{ "name" = "$name"; "value" = "$_" } $name = $null #reset name variable } } # Create an object to hold the necessary template properties. $templateProperties = @{ "deploymentProperties" = @{ "armTemplateId" = "$($template.ResourceId)"; "parameters" = $templateParameters }; } # Deploy the environment in your lab by using the New-AzResource command. New-AzResource -Location $Lab.Location ` -ResourceGroupName $lab.ResourceGroupName ` -Properties $templateProperties ` -ResourceType 'Microsoft.DevTestLab/labs/users/environments' ` -ResourceName "$LabName/$UserId/$EnvironmentName" ` -ApiVersion '2016-05-15' -Force Write-Output "Environment $EnvironmentName completed."A szkript használatához futtassa a következő parancsot. Frissítse a parancs helyőrzőit a saját laborértékeivel.
.\DeployLabEnvironment.ps1 ` -SubscriptionId "<Subscription ID>" ` -LabName "<LabName>" ` -ResourceGroupName "<LabResourceGroupName>" ` -RepositoryName "<TemplateRepoName>" ` -TemplateName "<TemplateFolderName>" ` -EnvironmentName "<EnvironmentName>"