Megosztás a következőn keresztül:


Összetevők hozzáadása a DevTest Labs virtuális gépekhez

Ez a cikk azt ismerteti, hogyan adhat hozzá összetevőket az Azure DevTest Labs virtuális gépekhez. Az összetevők megadják a virtuális gép kiépítéséhez szükséges műveleteket, például Windows PowerShell-szkriptek futtatását, Bash-parancsok futtatását vagy szoftverek telepítését. Paraméterek használatával testre szabhatja az összetevőket a saját igényeinek megfelelően.

A DevTest Labs-összetevők a nyilvános DevTest Labs Git-adattárból vagy privát Git-adattárakból származhatnak. Ha saját egyéni összetevőket szeretne létrehozni, és tárolni szeretné őket egy adattárban, olvassa el az Egyéni összetevők létrehozása című témakört. Ha hozzá szeretné adni az összetevő-adattárat egy tesztkörnyezethez, hogy a tesztkörnyezet felhasználói hozzáférhessenek az egyéni összetevőkhöz, olvassa el az Összetevő-adattár hozzáadása a laborhoz című témakört.

A DevTest Labs-tesztkörnyezet tulajdonosai megadhatják a létrehozáskor az összes tesztkörnyezeti virtuális gépen telepíteni kívánt kötelező összetevőket. További információ: Kötelező összetevők megadása a DevTest Labs virtuális gépekhez.

A virtuális gép létrehozásakor nem módosíthatja vagy távolíthatja el a kötelező összetevőket, de bármilyen elérhető egyéni összetevőt hozzáadhat. Ez a cikk azt ismerteti, hogyan adhat hozzá elérhető összetevőket a virtuális gépekhez az Azure Portal vagy az Azure PowerShell használatával.

Összetevők hozzáadása virtuális gépekhez az Azure Portalról

A virtuális gép létrehozása során összetevőket adhat hozzá, vagy hozzáadhat összetevőket a meglévő tesztkörnyezeti virtuális gépekhez.

Összetevők hozzáadása a virtuális gép létrehozása során:

  1. A labor kezdőlapján válassza a Hozzáadás lehetőséget.

  2. Az Alaplap kiválasztása lapon válassza ki a kívánt virtuális gép típusát.

  3. A Laborerőforrás létrehozása képernyőn válassza az Összetevők hozzáadása vagy eltávolítása lehetőséget.

  4. Az Összetevők hozzáadása lapon válassza a virtuális géphez hozzáadni kívánt összetevők melletti nyilat.

  5. Minden Összetevő hozzáadása panelen adja meg a szükséges és nem kötelező paraméterértékeket, majd kattintson az OK gombra. Az összetevő a Kijelölt összetevők területen jelenik meg, és a konfigurált összetevők száma frissül.

    Képernyőkép az összetevők hozzáadásáról az Összetevők hozzáadása panelen.

  6. A hozzáadásuk után módosíthatja az összetevőket.

    • Alapértelmezés szerint az összetevők a hozzáadásuk sorrendjében telepítenek. A sorrend átrendezéséhez jelölje ki a három pontot ... az összetevő mellett a Kijelölt összetevők listában, majd válassza az Áthelyezés felfelé, Lefelé, Ugrás fentre vagy Ugrás lefelé lehetőséget.
    • Az összetevő paramétereinek szerkesztéséhez válassza a Szerkesztés lehetőséget az Összetevő hozzáadása panel újbóli megnyitásához.
    • Ha törölni szeretné az összetevőt a Kijelölt összetevők listájából, válassza a Törlés lehetőséget.
  7. Ha végzett az összetevők hozzáadásával és rendezésével, válassza az OK gombot.

  8. A laborerőforrás létrehozása képernyő a hozzáadott összetevők számát jeleníti meg. A virtuális gép létrehozása előtt az összetevők hozzáadásához, szerkesztéséhez, átrendezéséhez vagy törléséhez válassza ismét az Összetevők hozzáadása vagy eltávolítása lehetőséget.

A virtuális gép létrehozása után a telepített összetevők megjelennek a virtuális gép Összetevők lapján. Az egyes összetevők telepítésének részleteinek megtekintéséhez válassza ki az összetevő nevét.

Összetevők telepítése meglévő virtuális gépre:

  1. A tesztkörnyezet kezdőlapján válassza ki a virtuális gépet a Saját virtuális gépek listából.

  2. A virtuális gép lapján válassza az Összetevők elemet a felső menüsávon vagy a bal oldali navigációs sávon.

  3. Az Összetevők lapon válassza az Összetevők alkalmazása lehetőséget.

    Képernyőkép egy meglévő V M Összetevők paneljéhez.

  4. Az Összetevők hozzáadása lapon válassza ki és konfigurálja az összetevőket ugyanúgy, mint egy új virtuális gép esetében.

  5. Ha befejezte az összetevők hozzáadását, válassza a Telepítés lehetőséget. Az összetevők azonnal települnek a virtuális gépre.

Összetevők hozzáadása virtuális gépekhez az Azure PowerShell használatával

Feljegyzés

Javasoljuk, hogy az Azure Az PowerShell modult használja az Azure-ral való interakcióhoz. Első lépésként tekintse meg az Azure PowerShell telepítését ismertető témakört. Az Az PowerShell-modulra történő migrálás részleteiről lásd: Az Azure PowerShell migrálása az AzureRM modulból az Az modulba.

Az alábbi PowerShell-szkript az Invoke-AzResourceAction parancsmaggal alkalmaz egy összetevőt egy virtuális gépre.

#Requires -Module Az.Resources

param
(
[Parameter(Mandatory=$true, HelpMessage="The ID of the subscription that contains the lab")]
   [string] $SubscriptionId,
[Parameter(Mandatory=$true, HelpMessage="The name of the lab that has the VM")]
   [string] $DevTestLabName,
[Parameter(Mandatory=$true, HelpMessage="The name of the VM")]
   [string] $VirtualMachineName,
[Parameter(Mandatory=$true, HelpMessage="The repository where the artifact is stored")]
   [string] $RepositoryName,
[Parameter(Mandatory=$true, HelpMessage="The artifact to apply to the VM")]
   [string] $ArtifactName,
[Parameter(ValueFromRemainingArguments=$true)]
   $Params
)

# Set the appropriate subscription
Set-AzContext -SubscriptionId $SubscriptionId | Out-Null
 
# Get the lab resource group name
$resourceGroupName = (Get-AzResource -ResourceType 'Microsoft.DevTestLab/labs' | Where-Object { $_.Name -eq $DevTestLabName}).ResourceGroupName
if ($resourceGroupName -eq $null) { throw "Unable to find lab $DevTestLabName in subscription $SubscriptionId." }

# Get the internal repository name
$repository = Get-AzResource -ResourceGroupName $resourceGroupName `
                    -ResourceType 'Microsoft.DevTestLab/labs/artifactsources' `
                    -ResourceName $DevTestLabName `
                    -ApiVersion 2016-05-15 `
                    | Where-Object { $RepositoryName -in ($_.Name, $_.Properties.displayName) } `
                    | Select-Object -First 1

if ($repository -eq $null) { "Unable to find repository $RepositoryName in lab $DevTestLabName." }

# Get the internal artifact name
$template = Get-AzResource -ResourceGroupName $resourceGroupName `
                -ResourceType "Microsoft.DevTestLab/labs/artifactSources/artifacts" `
                -ResourceName "$DevTestLabName/$($repository.Name)" `
                -ApiVersion 2016-05-15 `
                | Where-Object { $ArtifactName -in ($_.Name, $_.Properties.title) } `
                | Select-Object -First 1

if ($template -eq $null) { throw "Unable to find template $ArtifactName in lab $DevTestLabName." }

# Find the VM in Azure
$FullVMId = "/subscriptions/$SubscriptionId/resourceGroups/$resourceGroupName`
                /providers/Microsoft.DevTestLab/labs/$DevTestLabName/virtualmachines/$virtualMachineName"

$virtualMachine = Get-AzResource -ResourceId $FullVMId

# Generate the artifact id
$FullArtifactId = "/subscriptions/$SubscriptionId/resourceGroups/$resourceGroupName`
                        /providers/Microsoft.DevTestLab/labs/$DevTestLabName/artifactSources/$($repository.Name)`
                        /artifacts/$($template.Name)"

# Handle the input parameters to pass through
$artifactParameters = @()

# Fill the artifact parameter with the additional -param_ data and strip off the -param_
$Params | ForEach-Object {
   if ($_ -match '^-param_(.*)') {
      $name = $_ -replace '^-param_'
   } elseif ( $name ) {
      $artifactParameters += @{ "name" = "$name"; "value" = "$_" }
      $name = $null #reset name variable
   }
}

# Create a structure to pass the artifact data to the action

$prop = @{
artifacts = @(
    @{
        artifactId = $FullArtifactId
        parameters = $artifactParameters
    }
    )
}

# Apply the artifact
if ($virtualMachine -ne $null) {
   # Apply the artifact by name to the virtual machine
   $status = Invoke-AzResourceAction -Parameters $prop -ResourceId $virtualMachine.ResourceId -Action "applyArtifacts" -ApiVersion 2016-05-15 -Force
   if ($status.Status -eq 'Succeeded') {
      Write-Output "##[section] Successfully applied artifact: $ArtifactName to $VirtualMachineName"
   } else {
      Write-Error "##[error]Failed to apply artifact: $ArtifactName to $VirtualMachineName"
   }
} else {
   Write-Error "##[error]$VirtualMachine was not found in the DevTest Lab, unable to apply the artifact"
}

Következő lépések