ARM-sablonok üzembe helyezése a GitHub Actions használatával
A GitHub Actions a GitHub szolgáltatáscsomagja, amely automatizálja a szoftverfejlesztési munkafolyamatokat ugyanazon a helyen, ahol a kódot tárolja, és együttműködik a lekéréses kérelmeken és problémákon.
Az Azure Resource Manager-sablon üzembe helyezése művelettel automatizálhatja egy Azure Resource Manager-sablon (ARM-sablon) Üzembe helyezését az Azure-ban.
Előfeltételek
Egy Azure-fiók, aktív előfizetéssel. Fiók ingyenes létrehozása.
Egy GitHub-fiók. Ha nincs fiókja, ingyenesen regisztrálhat egyet.
- Egy GitHub-adattár a Resource Manager-sablonok és a munkafolyamat-fájlok tárolására. A létrehozásról az Új adattár létrehozása című témakörben olvashat.
Munkafolyamat-fájl áttekintése
A munkafolyamatokat egy YAML-fájl (.yml) határozza meg az /.github/workflows/
adattár elérési útján. Ez a definíció a munkafolyamatot alkotó különböző lépéseket és paramétereket tartalmazza.
A fájl két szakaszból áll:
Szakasz | Tevékenységek |
---|---|
Hitelesítés | 1. Üzembehelyezési hitelesítő adatok létrehozása. |
Telepítés | 1. Telepítse a Resource Manager-sablont. |
Üzembehelyezési hitelesítő adatok létrehozása
Hozzon létre egy egyszerű szolgáltatást az az ad sp create-for-rbac paranccsal az Azure CLI-ben. Futtassa ezt a parancsot az Azure Cloud Shell használatával az Azure Portalon, vagy a Kipróbálás gombra kattintva.
az ad sp create-for-rbac --name "myML" --role contributor \
--scopes /subscriptions/<subscription-id>/resourceGroups/<group-name> \
--json-auth
A paraméter --json-auth
az Azure CLI 2.51.0-s verzióiban >érhető el. A használat --sdk-auth
előtti verziók elavultsági figyelmeztetéssel.
A fenti példában cserélje le a helyőrzőket az előfizetés azonosítójára, az erőforráscsoport nevére és az alkalmazás nevére. A kimenet egy JSON-objektum, amelynek szerepkör-hozzárendelési hitelesítő adatai az alábbiakhoz hasonló hozzáférést biztosítanak az App Service-alkalmazáshoz. Másolja ezt a JSON-objektumot későbbre.
{
"clientId": "<GUID>",
"clientSecret": "<GUID>",
"subscriptionId": "<GUID>",
"tenantId": "<GUID>",
(...)
}
A GitHub titkos kulcsainak konfigurálása
A GitHubon nyissa meg az adattárat.
Nyissa meg a Gépház a navigációs menüben.
Válassza ki a Biztonsági > titkos kulcsok és változók > műveletek lehetőséget.
Válassza az Új tárház titkos kódját.
Illessze be az Azure CLI parancs teljes JSON-kimenetét a titkos kód értékmezőjébe. Adja meg a titkos nevet
AZURE_CREDENTIALS
.Válassza az Add secret (Titkos kód hozzáadása) lehetőséget.
Resource Manager-sablon hozzáadása
Adjon hozzá Resource Manager-sablont a GitHub-adattárhoz. Ez a sablon létrehoz egy tárfiókot.
https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.storage/storage-account-create/azuredeploy.json
A fájlt bárhol elhelyezheti az adattárban. A következő szakaszban található munkafolyamat-minta feltételezi, hogy a sablonfájl neve azuredeploy.json, és az adattár gyökerében lesz tárolva.
Munkafolyamat létrehozása
A munkafolyamat-fájlt az adattár gyökerében található .github/workflows mappában kell tárolni. A munkafolyamat fájlkiterjesztése lehet .yml vagy .yaml.
- A GitHub-adattárban válassza a Műveletek lehetőséget a felső menüben.
- Válassza az Új munkafolyamat lehetőséget.
- Válassza ki , hogy saját maga állítson be egy munkafolyamatot.
- Nevezze át a munkafolyamat-fájlt, ha más nevet szeretne, mint main.yml. Például: deployStorageAccount.yml.
- Az .yml-fájl tartalmát írja felül a következővel:
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 }}
Feljegyzés
Az ARM Deploy műveletben (például: .azuredeploy.parameters.json
) megadhat egy JSON formátumparaméterfájlt.
A munkafolyamat-fájl első szakasza a következőket tartalmazza:
- név: A munkafolyamat neve.
- on: A munkafolyamatot aktiváló GitHub-események neve. A munkafolyamat akkor aktiválódik, ha leküldéses esemény van a fő ágon, amely módosítja a két megadott fájl legalább egyikét. A két fájl a munkafolyamat-fájl és a sablonfájl.
- Válassza a Start commit (Véglegesítés indítása) lehetőséget.
- Válassza a Véglegesítés lehetőséget közvetlenül a főágra.
- Válassza az Új fájl véglegesítése (vagy Módosítások véglegesítése) lehetőséget.
Mivel a munkafolyamatot úgy konfigurálta, hogy a munkafolyamat-fájl vagy a frissített sablonfájl aktiválja, a munkafolyamat közvetlenül a módosítások véglegesítése után indul el.
Munkafolyamat állapotának ellenőrzése
- Válassza a Műveletek lapot. Megjelenik egy létrehozási deployStorageAccount.yml munkafolyamat a listában. A munkafolyamat futtatása 1–2 percet vesz igénybe.
- Válassza ki a munkafolyamatot a megnyitásához.
- Válassza az ARM-telepítés futtatása lehetőséget a menüben az üzembe helyezés ellenőrzéséhez.
Az erőforrások eltávolítása
Ha már nincs szükség az erőforráscsoportra és az adattárra, törölje az üzembe helyezett erőforrásokat az erőforráscsoport és a GitHub-adattár törlésével.