Gyakorlat – Bicep-fájl üzembe helyezése GitHub-munkafolyamatokból
A GitHub Actions hasonló az Azure Pipelineshoz . Lehetővé teszik a szoftverfejlesztés és az üzembe helyezés automatizálását. Ebben a gyakorlatban megtanulja, hogyan kell üzembe helyezni egy Bicep-fájlt egy GitHub-művelet használatával.
Előfeltételek
- Szüksége lesz egy GitHub-fiókra , amelyet itt ingyenesen hozhat létre.
- Egy GitHub-adattárra is szükség van a Korábban létrehozott Bicep-fájlok és munkafolyamatok tárolásához a Gyakorlat – Bicep-sablonok létrehozása című gyakorlatban. Miután létrehozta a GitHub-adattárat, töltse fel a Bicep-fájlt.
- Az Azure-beli üzembe helyezéshez hozzáférésre van szükség egy Azure-előfizetéshez , amely itt ingyenesen létrehozható.
Szolgáltatásnév létrehozása az Azure-ban
Az erőforrások Azure-ban való üzembe helyezéséhez létre kell hoznia egy szolgáltatásnevet , amelyet a GitHub használhat. Nyisson meg egy terminált, vagy használja a Cloud Shellt az Azure Portalon , és írja be a következő parancsokat:
az login
az ad sp create-for-rbac --name myApp --role contributor --scopes /subscriptions/{subscription-id}/resourceGroups/Bicep --sdk-auth
Feljegyzés
Ne felejtse el lecserélni a {subscription-id} tényleges előfizetés-azonosítóra.
A parancs ismertetése
- az ad sp create-for-rbac: Létrehoz egy szolgáltatási főösszetevőt a szerepköralapú hozzáférés-vezérléshez.
- --név: A szolgáltatásfő név.
-
--szerep: Hozzárendeli a
contributorszerepkört, lehetővé téve az erőforrások teljes kezelését. - --Hatókörök: Egy adott erőforráscsoporthoz való hozzáférés korlátozása.
- --sdk-auth: SDK-hitelesítésre alkalmas formátumban adja ki a hitelesítő adatokat.
Ha a művelet sikeres, egy JSON-objektumot kell kiadnia, amely tartalmazza a tenantId, subscriptionId, , clientIdclientSecret, és néhány további tulajdonságot, például a következőket:
{
"clientId": "<GUID>",
"clientSecret": "<GUID>",
"subscriptionId": "<GUID>",
"tenantId": "<GUID>",
(...)
}
Jegyezze fel ezt az objektumot, mivel hozzá kell adnia a GitHub titkok közé.
GitHub-titkos kód létrehozása
A GitHub-adattárban navigáljon a Beállítások>Titkok>Műveletek részhez. Hozzon létre egy új titkos kulcsot, AZURE_CREDENTIALS és illessze be az előző lépésben kapott teljes JSON-objektumot .
Hozzon létre egy másik titkot az erőforráscsoport megnevezéséhez olyan névvel, mint például AZURE_RG, és egyet az előfizetés-azonosítóhoz, amelynek neve AZURE_SUBSCRIPTION.
Miért érdemes titkos kulcsokat használni?
A GitHub titkos kódjai biztonságosan tárolják a bizalmas információkat. Ezek a következők:
- Titkosított: Biztonságosan tárolva a GitHubon.
- Nem látható a naplókban: Maszkolt munkafolyamat-futtatási naplókban.
- Munkafolyamatokban elérhető: Környezeti változókként érhető el a munkafolyamat végrehajtása során.
GitHub-művelet létrehozása
Új munkafolyamat létrehozása
Először keresse meg az adattárat, és válassza a Műveletek menüt . Ezután állítson be egy munkafolyamatot egy üres munkafolyamat létrehozásához az adattárban. Tetszés szerint átnevezheti a fájlt egy másik névre.
A munkafolyamat definiálása
Cserélje le a fájl tartalmát a következő kódrészletre:
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: falseNyugodtan cserélje le a
storagePrefixparaméter értékét a saját értékére.
A munkafolyamat ismertetése
Ez a GitHub Action-munkafolyamat a következőket hajtja végre:
Esemény: Automatikusan lefut, amikor a kód a tárolóba (
on: [push]) pusholásra kerül.Foglalkozás: Egy
build-and-deployfutó feladat definiálása.Steps:
-
Kivételi kód: A
actions/checkout@mainsegítségével kiveszi az adattár kódját. -
Jelentkezzen be az Azure-ba: Az
azure/login@v1való hitelesítést használja aAZURE_CREDENTIALStitkos kód használatával. -
Bicep-fájl üzembe helyezése: Az
azure/arm-deploy@v1használata a Bicep sablon üzembe helyezésére:-
subscriptionId: Azure-előfizetés azonosítója titkos adatokból. -
resourceGroupName: Az erőforráscsoport neve titkos adatokból. -
template: A Bicep-fájl elérési útja. -
parameters: A Bicep-sablonnak átadott paraméterek. -
failOnStdErr: Állítsa úgy,falsehogy a standard hibakimenet nem hiúsul meg.
-
Feljegyzés
A munkafolyamat első része határozza meg az eseményindítót és annak nevét. A többi definiál egy feladatot, és néhány feladatot használ a kód kivételéhez, az Azure-ba való bejelentkezéshez és a Bicep-fájl üzembe helyezéséhez.
-
Kivételi kód: A
A munkafolyamat véglegesítése
Válassza a Véglegesítés indítása lehetőséget, és adjon meg egy címet és egy leírást az előugró párbeszédpanelen. Ezután válassza a közvetlenül a főágra véglegesítse lehetőséget, majd az új fájl véglegesítése opciót.
A munkafolyamat figyelése
Lépjen a Műveletek lapra, és válassza ki az újonnan létrehozott műveletet, amelyet futtatnia kell.
Az üzembe helyezés ellenőrzése
Figyelje meg az állapotot, és ha a feladat befejeződött, ellenőrizze az Azure Portalon , hogy létrejött-e a tárfiók.