Rövid útmutató: Bicep-fájlok üzembe helyezése a GitHub Actions használatával
A GitHub Actions a GitHub szolgáltatáscsomagja, amely automatizálja a szoftverfejlesztési munkafolyamatokat. Ebben a rövid útmutatóban a GitHub Actions for Azure Resource Manager üzembe helyezésével automatizálhatja a Bicep-fájlok Azure-ban való üzembe helyezését.
Rövid bevezetést nyújt a GitHub-műveletekbe és a Bicep-fájlokba. Ha részletesebb lépéseket szeretne a GitHub-műveletek és -projektek beállításával kapcsolatban, olvassa el az Azure-erőforrások üzembe helyezését a Bicep és a GitHub Actions használatával.
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 Bicep-fájlok é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.
Erőforráscsoport létrehozása
Hozzon létre egy erőforráscsoportot. A rövid útmutató későbbi részében üzembe helyezi a Bicep-fájlt ebben az erőforráscsoportban.
az group create -n exampleRG -l westus
Üzembehelyezési hitelesítő adatok létrehozása
A GitHub Actions identitás alatt fut. Az az ad sp create-for-rbac paranccsal hozzon létre egy szolgáltatásnevet az identitáshoz. Adja meg a szolgáltatásnévnek az előző munkamenetben létrehozott erőforráscsoport közreműködői szerepkörét, hogy az identitással rendelkező GitHub-művelet erőforrásokat hozzon létre ebben az erőforráscsoportban. Javasoljuk, hogy a minimálisan szükséges hozzáférést adja meg.
az ad sp create-for-rbac --name {app-name} --role contributor --scopes /subscriptions/{subscription-id}/resourceGroups/exampleRG --json-auth
Cserélje le a helyőrzőt {app-name}
az alkalmazás nevére. Cserélje le {subscription-id}
az előfizetés azonosítóját.
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.
{
"clientId": "<GUID>",
"clientSecret": "<GUID>",
"subscriptionId": "<GUID>",
"tenantId": "<GUID>",
...
}
Másolja ezt a JSON-objektumot későbbre. Csak a , clientSecret
, subscriptionId
és tenantId
értékeket tartalmazó clientId
szakaszokra lesz szüksége. Győződjön meg arról, hogy az utolsó sor végén nincs további vessző, például az tenantId
előző példában szereplő sor, különben érvénytelen JSON-fájlt eredményez. A telepítés során hibaüzenet jelenik meg: "A bejelentkezés hiba miatt meghiúsult: A tartalom nem érvényes JSON-objektum. Ellenőrizze, hogy helyes-e a hitelesítési típus."
A GitHub titkos kulcsainak konfigurálása
Titkos kulcsokat hozhat létre azure-beli hitelesítő adataihoz, erőforráscsoportjához és előfizetéseihez. Ezeket a titkos kulcsokat a Munkafolyamat létrehozása szakaszban fogja használni.
A GitHubon keresse meg az adattárat.
Válassza Gépház > Titkos kulcsok és változók > Műveletek > új tárház titkos kulcsát.
Illessze be az Azure CLI parancs teljes JSON-kimenetét a titkos kód értékmezőjébe. Nevezze el a titkos kulcsot
AZURE_CREDENTIALS
.Hozzon létre egy másik, névvel ellátott
AZURE_RG
titkos kulcsot. Adja hozzá az erőforráscsoport nevét a titkos kód értékmezőjéhez (exampleRG
).Hozzon létre egy másik, névvel ellátott
AZURE_SUBSCRIPTION
titkos kulcsot. Adja hozzá az előfizetés azonosítóját a titkos kód értékmezőjéhez (például:90fd3f9d-4c61-432d-99ba-1273f236afa2
).
Bicep-fájl hozzáadása
Adjon hozzá egy Bicep-fájlt a GitHub-adattárhoz. A következő Bicep-fájl létrehoz egy tárfiókot:
@minLength(3)
@maxLength(11)
param storagePrefix string
@allowed([
'Standard_LRS'
'Standard_GRS'
'Standard_RAGRS'
'Standard_ZRS'
'Premium_LRS'
'Premium_ZRS'
'Standard_GZRS'
'Standard_RAGZRS'
])
param storageSKU string = 'Standard_LRS'
param location string = resourceGroup().location
var uniqueStorageName = '${storagePrefix}${uniqueString(resourceGroup().id)}'
resource stg 'Microsoft.Storage/storageAccounts@2021-04-01' = {
name: uniqueStorageName
location: location
sku: {
name: storageSKU
}
kind: 'StorageV2'
properties: {
supportsHttpsTrafficOnly: true
}
}
output storageEndpoint object = stg.properties.primaryEndpoints
A Bicep-fájlhoz egy storagePrefix nevű paraméter szükséges 3–11 karakterből.
A fájlt bárhol elhelyezheti az adattárban. A következő szakaszban található munkafolyamat-minta feltételezi, hogy a Bicep-fájl neve main.bicep, és az adattár gyökerében van tárolva.
Munkafolyamat létrehozása
A munkafolyamat határozza meg az aktiváláskor végrehajtandó lépéseket. Ez egy YAML-fájl (.yml) az adattár .github/workflows/ elérési útján. A munkafolyamat fájlkiterjesztése lehet .yml vagy .yaml.
Munkafolyamat létrehozásához hajtsa végre a következő lépéseket:
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: deployBicepFile.yml.
Cserélje le az yml-fájl tartalmát a következő kódra:
name: Deploy Bicep file on: [push] jobs: build-and-deploy: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@main - name: Log into Azure uses: azure/login@v1 with: creds: ${{ secrets.AZURE_CREDENTIALS }} - name: Deploy Bicep file uses: azure/arm-deploy@v1 with: subscriptionId: ${{ secrets.AZURE_SUBSCRIPTION }} resourceGroupName: ${{ secrets.AZURE_RG }} template: ./main.bicep parameters: 'storagePrefix=mystore storageSKU=Standard_LRS' failOnStdErr: false
Cserélje le
mystore
a saját tárfiók nevének előtagjára.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.
Válassza a Módosítások véglegesítése 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.
A munkafolyamat-fájl vagy a Bicep-fájl frissítése aktiválja a munkafolyamatot. 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ás deployBicepFile.yml munkafolyamat a listában. A munkafolyamat futtatása 1–2 percet vesz igénybe.
- Válassza ki a munkafolyamatot a megnyitásához, és ellenőrizze, hogy az
Status
.Success
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.
az group delete --name exampleRG
Következő lépések
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: