Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Artefakty jsou nástroje, akce nebo software, které můžete přidat do virtuálních počítačů Azure DevTest Labs. Artefakty můžou například spouštět skripty, instalovat nástroje nebo provádět akce, jako je připojení k doméně. Uživatelé DevTest Labs můžou do svých virtuálních počítačů přidávat artefakty a správci testovacího prostředí můžou zadat povinné artefakty, které se mají přidat do všech virtuálních počítačů testovacího prostředí.
Tento článek popisuje, jak vytvořit artefakty, které zřizují virtuální počítače laboratorního prostředí. Artefakt se skládá ze souboru JSON definice artefaktu a dalších souborů skriptu uložených ve složce úložiště Git. Artefakty můžete ukládat do privátního nebo veřejného úložiště Git. Správci testovacího prostředí můžou do testovacích prostředí přidávat úložiště artefaktů , aby k nim všichni uživatelé testovacího prostředí mohli přistupovat.
Požadavky
- K vytvoření a práci s definičními soubory artefaktů potřebujete editor JSON. Visual Studio Code je k dispozici pro Windows, Linux a macOS.
- K uložení definice artefaktu a souborů skriptů potřebujete účet GitHubu.
Porozumět definičním souborům artefaktů
Definiční soubor artefaktu se skládá z výrazu JSON, který určuje akci, která se má provést na virtuálním počítači. Soubor definuje název artefaktu, příkaz ke spuštění a parametry dostupné pro tento příkaz. Pokud artefakt obsahuje další soubory skriptu, můžete na soubory odkazovat podle názvu v definičním souboru artefaktu.
Následující příklad ukazuje základní strukturu souboru definice artefaktůartifactfile.json.
{
"$schema": "https://raw.githubusercontent.com/Azure/azure-devtestlab/master/schemas/2016-11-28/dtlArtifacts.json",
"title": "<title>",
"description": "<description>",
"iconUri": "",
"targetOsType": "<os>",
"parameters": {
"<paramName>": {
"type": "<type>",
"displayName": "<display name>",
"description": "<description>"
}
},
"runCommand": {
"commandToExecute": "<command>"
}
}
Definice obsahuje následující povinné a volitelné prvky:
| Název elementu | Description |
|---|---|
$schema |
Umístění souboru schématu JSON, které vám může pomoct otestovat platnost definičního souboru. |
title |
Požadovaný název artefaktu, který se má zobrazit. |
description |
Požadovaný popis artefaktu |
iconUri |
URI ikony artefaktu pro zobrazení. |
targetOsType |
Požadovaný operační systém pro instalaci. Podporované hodnoty jsou Windows nebo Linux. |
parameters |
Dostupné přizpůsobení artefaktů během instalace |
runCommand |
Požadovaný příkaz k instalaci artefaktu na virtuální počítač. |
Parametry artefaktů
Oddíl parameters definičního souboru definuje možnosti a hodnoty, které uživatelé mohou určit při instalaci artefaktu. Na tyto parametry můžete odkazovat v souboru runCommand.
Následující struktura definuje parametr:
"parameters": {
"<name>": {
"type": "<type>",
"displayName": "<display name>",
"description": "<description>"
}
}
Každý parametr vyžaduje název a definice parametru vyžaduje následující prvky:
| Název elementu | Description |
|---|---|
type |
Požadovaný typ hodnoty parametru. Typ může být libovolný platný JSON string, celé číslo int, logická hodnota boolnebo array. |
displayName |
Požadovaný název parametru, který se má uživateli zobrazit. |
description |
Požadovaný popis parametru. |
Parametry zabezpečeného řetězce
Pokud chcete do definice artefaktu zahrnout tajné kódy, deklarujte tajné kódy jako zabezpečené řetězce pomocí secureStringParam syntaxe v parameters části definičního souboru. Element description umožňuje libovolný textový řetězec, včetně mezer, a zobrazí řetězec v uživatelském rozhraní jako maskované znaky.
"securestringParam": {
"type": "securestring",
"displayName": "Secure String Parameter",
"description": "<any text string>",
"allowEmpty": false
},
Následující runCommand používá skript PowerShell, který zpracovává zabezpečený řetězec vytvořený pomocí ConvertTo-SecureString příkazu. Skript zachytává výstup pro ladění, takže pro zabezpečení nezaznamenejte výstup do konzoly.
"runCommand": {
"commandToExecute": "[concat('powershell.exe -ExecutionPolicy bypass \"& ./artifact.ps1 -StringParam ''', parameters('stringParam'), ''' -SecureStringParam (ConvertTo-SecureString ''', parameters('securestringParam'), ''' -AsPlainText -Force) -IntParam ', parameters('intParam'), ' -BoolParam:$', parameters('boolParam'), ' -FileContentsParam ''', parameters('fileContentsParam'), ''' -ExtraLogLines ', parameters('extraLogLines'), ' -ForceFail:$', parameters('forceFail'), '\"')]"
}
Výrazy a funkce artefaktů
K vytvoření příkazu artifact install můžete použít výrazy a funkce. Výrazy kódu se vyhodnotí během instalace artefaktu.
Výrazy se můžou objevit kdekoli v řetězcové hodnotě JSON a vždy vrátit jinou hodnotu JSON. Uzavře výrazy do závorek, [ ]. Pokud potřebujete použít literálový řetězec začínající závorkou, použijte dvě závorky [[.
K vytvoření hodnoty obvykle používáte výrazy s funkcemi. Volání funkcí jsou formátována jako functionName(arg1, arg2, arg3).
Mezi běžné funkce patří:
| Funkce | Description |
|---|---|
parameters(parameterName) |
Vrátí hodnotu parametru, která se má použít při spuštění příkazu artefaktu. |
concat(arg1, arg2, arg3, ...) |
Kombinuje více řetězcových hodnot a může přijímat různé argumenty. |
Následující příklad používá výrazy s concat funkcí k vytvoření hodnoty.
runCommand": {
"commandToExecute": "[concat('powershell.exe -ExecutionPolicy bypass \"& ./startChocolatey.ps1'
, ' -RawPackagesList ', parameters('packages')
, ' -Username ', parameters('installUsername')
, ' -Password ', parameters('installPassword'))]"
}
Vytvoření vlastního artefaktu
Vlastní artefakt můžete vytvořit tak, že začnete z ukázkového definičního souboruartifactfile.json . Veřejné úložiště artefaktů DevTest Labs obsahuje knihovnu artefaktů. Můžete si stáhnout definiční soubor artefaktů a přizpůsobit ho a vytvořit tak vlastní artefakty.
Stáhněte si definiční soubor artifactfile.json a artifact.ps1 PowerShell skriptu z https://github.com/Azure/azure-devtestlab/tree/master/Artifacts/windows-test-paramtypes.
Upravte definiční soubor artefaktů a proveďte některé platné změny prvků a hodnot. V editoru Visual Studio Code můžete pomocí IntelliSense zobrazit platné prvky a možnosti hodnot. Když například upravujete prvek
targetOsType, IntelliSense zobrazí možnostiWindowsneboLinux.Uložte artefakt do veřejného nebo privátního úložiště artefaktů Gitu.
- Každý artifactfile.json definiční soubor artefaktů uložte do samostatného adresáře, který má stejný název artefaktu.
- Uložte skripty, na které příkaz install odkazuje, do stejného adresáře jako soubor definice artefaktu.
Následující snímek obrazovky ukazuje ukázkovou složku artefaktů:
Poznámka:
Pokud chcete přidat vlastní artefakty do veřejného úložiště artefaktů DevTest Labs, odešlete žádost o přijetí změn do úložiště.
Další kroky
- Přidání artefaktů do virtuálních počítačů DevTest Labs
- Určení povinných artefaktů, které se mají přidat do všech virtuálních počítačů testovacího prostředí
- Přidání úložiště artefaktů do testovacího prostředí