Cvičení – nasazení souboru Bicep z pracovních postupů GitHubu
GitHub Actions se podobají Azure Pipelines v podstatě. Poskytují způsob, jak automatizovat vývoj a nasazení softwaru. V tomto cvičení se dozvíte, jak nasadit soubor Bicep pomocí akce GitHubu.
Požadavky
- Budete potřebovat účet GitHubu , který tady můžete zdarma vytvořit.
- Úložiště GitHubu se také vyžaduje k uložení souboru a pracovních postupů Bicep vytvořených dříve v části Cvičení – vytvoření šablon Bicep. Jakmile vytvoříte úložiště GitHub , nasdílejte do něj soubor Bicep .
- Pro nasazení do Azure je potřeba přístup k předplatnému Azure , které je možné zdarma vytvořit tady.
Vytvoření instančního objektu v Azure
Pokud chcete nasadit prostředky do Azure, budete muset vytvořit service principal, který může GitHub používat. Otevřete terminál nebo použijte Cloud Shell na webu Azure Portal a zadejte následující příkazy:
az login
az ad sp create-for-rbac --name myApp --role contributor --scopes /subscriptions/{subscription-id}/resourceGroups/Bicep --sdk-auth
Poznámka:
Nezapomeňte nahradit {subscription-id} skutečným ID předplatného.
Porozumění příkazu
- az ad sp create-for-rbac: Vytvoří principála služby pro řízení přístupu na bázi rolí.
- --Název: Název služebního objektu.
-
--role: Přiřadí
contributorroli, což umožňuje úplnou správu prostředků. - --oblasti: Omezuje přístup ke konkrétní skupině prostředků.
- --sdk-auth: Výstupy přihlašovacích údajů ve formátu vhodném pro ověřování sady SDK.
Pokud operace proběhne úspěšně, měl by výstupem objekt JSON, který obsahuje váš tenantIdobjekt , subscriptionIdclientId, clientSecret, a několik dalších vlastností, například následující:
{
"clientId": "<GUID>",
"clientSecret": "<GUID>",
"subscriptionId": "<GUID>",
"tenantId": "<GUID>",
(...)
}
Všimněte si tohoto objektu, protože ho budete muset přidat do tajných kódů GitHubu .
Vytvoření tajného kódu GitHubu
V úložišti GitHub přejděte do Nastavení>Tajnosti>Akce. Vytvořte nový tajný kód a AZURE_CREDENTIALS vložte celý objekt JSON , který jste získali z předchozího kroku.
Vytvořte další tajný klíč pro název skupiny prostředků s názvem, například AZURE_RG a jedním pro ID předplatného s názvem AZURE_SUBSCRIPTION.
Proč používat tajné kódy?
Tajné kódy GitHubu ukládají citlivé informace bezpečně. Mezi ně patří:
- Zakódovaný: Bezpečně uložené na GitHubu.
- V protokolech se nezobrazuje: Maskováno v protokolech spuštění pracovního postupu.
- Přístupné v pracovních postupech: Během provádění pracovního postupu je k dispozici jako proměnné prostředí.
Vytvoření akce GitHubu
Vytvoření nového pracovního postupu
Nejprve přejděte do úložiště a vyberte nabídku Akce . Potom nastavte pracovní postup tak, aby v úložišti vytvořil prázdný pracovní postup. Pokud chcete, můžete soubor přejmenovat na jiný název.
Definování pracovního postupu
Obsah souboru nahraďte následujícím fragmentem kódu:
on: [push] name: Azure Resource Manager jobs: build-and-deploy: runs-on: ubuntu-latest steps: # Checkout code - uses: actions/checkout@main # Log into Azure - uses: azure/login@v1 with: creds: ${{ secrets.AZURE_CREDENTIALS }} # Deploy Bicep file - name: deploy uses: azure/arm-deploy@v1 with: subscriptionId: ${{ secrets.AZURE_SUBSCRIPTION }} resourceGroupName: ${{ secrets.AZURE_RG }} template: ./main.bicep parameters: storagePrefix=stg failOnStdErr: falseHodnotu parametru
storagePrefixmůžete nahradit vlastními.
Principy pracovního postupu
Tento pracovní postup akce GitHubu provádí následující akce:
Spoušť: Spustí se automaticky, když se kód odešle do úložiště (
on: [push]).Úloha: Definuje úlohu
build-and-deploy, která běží na Ubuntu runneru.Steps:
-
Kód pro odhlášení: Používá
actions/checkout@maink odhlášení kódu úložiště. -
Přihlaste se k Azure: Používá
azure/login@v1se k ověřování v Azure pomocí tajnéhoAZURE_CREDENTIALSkódu. -
Nasazení souboru Bicep: Používá
azure/arm-deploy@v1se k nasazení šablony Bicep :-
subscriptionId: ID předplatného Azure z tajných kódů. -
resourceGroupName: Název skupiny prostředků z tajných informací -
template: Cesta k souboru Bicep . -
parameters: Parametry předané šabloně Bicep . -
failOnStdErr: Nastavte nafalsetak, aby nedošlo k selhání standardního chybového výstupu.
-
Poznámka:
První část pracovního postupu definuje trigger a jeho název. Zbytek definuje úlohu a pomocí několika úkolů si můžete prohlédnout kód, přihlásit se k Azure a nasadit soubor Bicep .
-
Kód pro odhlášení: Používá
Potvrďte pracovní postup
Vyberte Zahájit potvrzení a zadejte název a popis v automaticky otevíraných dialogových oknech. Pak vyberte Potvrdit přímo do hlavní větve a potom potvrdit nový soubor.
Monitorování pracovního postupu
Přejděte na kartu Akce a vyberte nově vytvořenou akci, která by měla být spuštěná.
Ověření nasazení
Sledujte stav a po dokončení úlohy zkontrolujte na webu Azure Portal , jestli se účet úložiště vytvořil.