Nasazení šablon ARM pomocí GitHub Actions
GitHub Actions je sada funkcí v GitHubu, která automatizuje pracovní postupy vývoje softwaru na stejném místě, kde ukládáte kód a spolupracujete na žádostech o přijetí změn a problémech.
Pomocí akce nasadit šablonu Azure Resource Manageru můžete automatizovat nasazení šablony Azure Resource Manageru (šablony ARM) do Azure.
Požadavky
Účet Azure s aktivním předplatným. Vytvoření účtu zdarma
Účet GitHub. Pokud ho nemáte, zdarma se zaregistrujte.
- Úložiště GitHub pro ukládání šablon Resource Manageru a souborů pracovního postupu. Pokud ho chcete vytvořit, přečtěte si téma Vytvoření nového úložiště.
Přehled souboru pracovního postupu
Pracovní postup je definován souborem YAML (.yml) v /.github/workflows/
cestě v úložišti. Tato definice obsahuje různé kroky a parametry, které tvoří pracovní postup.
Soubor má dvě části:
Sekce | Úlohy |
---|---|
Authentication | 1. Vygenerujte přihlašovací údaje pro nasazení. |
Nasazení | 1. Nasaďte šablonu Resource Manageru. |
Generování přihlašovacích údajů pro nasazení
Pomocí příkazu az ad sp create-for-rbac v Azure CLI vytvořte instanční objekt. Spusťte tento příkaz pomocí Azure Cloud Shellu na webu Azure Portal nebo výběrem tlačítka Vyzkoušet .
az ad sp create-for-rbac --name "myML" --role contributor \
--scopes /subscriptions/<subscription-id>/resourceGroups/<group-name> \
--json-auth
--json-auth
Parametr je k dispozici ve verzích >Azure CLI = 2.51.0. Verze před tímto použitím --sdk-auth
s upozorněním na vyřazení.
V předchozím příkladu nahraďte zástupné symboly ID vašeho předplatného, názvem skupiny prostředků a názvem aplikace. Výstupem je objekt JSON s přihlašovacími údaji pro přiřazení role, které poskytují přístup k vaší aplikaci App Service podobně jako v následujícím příkladu. Zkopírujte tento objekt JSON pro pozdější použití.
{
"clientId": "<GUID>",
"clientSecret": "<GUID>",
"subscriptionId": "<GUID>",
"tenantId": "<GUID>",
(...)
}
Konfigurace tajných kódů GitHubu
Na GitHubu přejděte do svého úložiště.
V navigační nabídce přejděte na Nastavení .
Vyberte Akce tajných kódů zabezpečení > a proměnných>.
Vyberte Nový tajný klíč úložiště.
Celý výstup JSON z příkazu Azure CLI vložte do pole hodnoty tajného kódu. Dejte tajnému názvu
AZURE_CREDENTIALS
.Vyberte Add secret (Přidat tajný kód).
Přidání šablony Resource Manageru
Přidejte šablonu Resource Manageru do úložiště GitHub. Tato šablona vytvoří účet úložiště.
https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.storage/storage-account-create/azuredeploy.json
Soubor můžete umístit kamkoli do úložiště. Ukázka pracovního postupu v další části předpokládá, že soubor šablony má název azuredeploy.json a je uložený v kořenovém adresáři vašeho úložiště.
Vytvoření pracovního postupu
Soubor pracovního postupu musí být uložený ve složce .github/workflows v kořenovém adresáři úložiště. Přípona souboru pracovního postupu může být buď .yml nebo .yaml.
- V úložišti GitHub vyberte v horní nabídce akce .
- Vyberte Nový pracovní postup.
- Vyberte nastavení pracovního postupu sami.
- Pokud dáváte přednost jinému názvu než main.yml, přejmenujte soubor pracovního postupu. Příklad: deployStorageAccount.yml.
- Obsah souboru YML nahraďte následujícím kódem:
on: [push]
name: Azure ARM
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 ARM template
- name: Run ARM deploy
uses: azure/arm-deploy@v1
with:
subscriptionId: ${{ secrets.AZURE_SUBSCRIPTION }}
resourceGroupName: ${{ secrets.AZURE_RG }}
template: ./azuredeploy.json
parameters: storageAccountType=Standard_LRS
# output containerName variable from template
- run: echo ${{ steps.deploy.outputs.containerName }}
Poznámka:
Soubor parametrů formátu JSON můžete místo toho zadat v akci nasazení ARM (příklad: .azuredeploy.parameters.json
).
První část souboru pracovního postupu obsahuje:
- name: Název pracovního postupu.
- on: Název událostí GitHubu, které aktivují pracovní postup. Pracovní postup se aktivuje, když v hlavní větvi dojde k události push, která upraví alespoň jeden ze dvou zadaných souborů. Dva soubory jsou soubor pracovního postupu a soubor šablony.
- Vyberte Start commit (Spustit zápis).
- Vyberte Potvrdit přímo do hlavní větve.
- Vyberte Potvrdit nový soubor (nebo Potvrdit změny).
Vzhledem k tomu, že je pracovní postup nakonfigurovaný tak, aby se aktivoval buď soubor pracovního postupu, nebo aktualizovaný soubor šablony, pracovní postup se spustí hned po potvrzení změn.
Kontrola stavu pracovního postupu
- Vyberte kartu Akce. Zobrazí se seznam pracovních postupů vytvoření deployStorageAccount.yml. Spuštění pracovního postupu trvá 1 až 2 minuty.
- Výběrem pracovního postupu ho otevřete.
- V nabídce vyberte Spustit nasazení ARM a ověřte nasazení.
Vyčištění prostředků
Pokud už skupinu prostředků a úložiště nepotřebujete, vyčistěte prostředky, které jste nasadili, odstraněním skupiny prostředků a úložiště GitHub.