Megosztás a következőn keresztül:


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

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

Az Azure Bejelentkezési művelet OIDC-vel való használatához konfigurálnia kell egy összevont identitás hitelesítő adatait egy Microsoft Entra-alkalmazáson vagy egy felhasználó által hozzárendelt felügyelt identitáson.

1. lehetőség: Microsoft Entra-alkalmazás

2. lehetőség: Felhasználó által hozzárendelt felügyelt identitás

A GitHub titkos kulcsainak konfigurálása

A bejelentkezési művelethez meg kell adnia az alkalmazás ügyfél-, címtár- (bérlői) azonosítóját és előfizetés-azonosítóját. Ezek az értékek közvetlenül a munkafolyamatban is megadhatóak, vagy a GitHub titkos kulcsaiban tárolhatók, és a munkafolyamatban hivatkozhatnak gombra. Az értékek GitHub-titkos kulcsként való mentése a biztonságosabb megoldás.

  1. A GitHubon nyissa meg az adattárat.

  2. Válassza ki a Biztonsági > titkos kulcsok és változók > műveletek lehetőséget.

    Képernyőkép egy titkos kód hozzáadásáról

  3. Válassza az Új tárház titkos kódját.

    Feljegyzés

    A nyilvános adattárak munkafolyamat-biztonságának javítása érdekében tárházi titkos kulcsok helyett használjon környezeti titkos kulcsokat . Ha a környezet jóváhagyást igényel, a feladatok nem férhetnek hozzá a környezeti titkos kódokhoz, amíg az egyik szükséges véleményező nem hagyja jóvá.

  4. Titkos kulcsok létrehozása a következőhöz AZURE_CLIENT_ID: , AZURE_TENANT_IDés AZURE_SUBSCRIPTION_ID. Másolja ki ezeket az értékeket a Microsoft Entra-alkalmazásból vagy a felhasználó által hozzárendelt felügyelt identitásból a GitHub-titkos kulcsokhoz:

    GitHub-titkos kód Microsoft Entra-alkalmazás vagy felhasználó által hozzárendelt felügyelt identitás
    AZURE_CLIENT_ID Ügyfél azonosítója
    AZURE_SUBSCRIPTION_ID Előfizetés azonosítója
    AZURE_TENANT_ID Címtár (bérlő) azonosítója

    Feljegyzés

    Biztonsági okokból azt javasoljuk, hogy a GitHub Titkos kulcsokat használja ahelyett, hogy közvetlenül a munkafolyamatnak ad át értékeket.

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@2023-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:

  1. A GitHub-adattárban válassza a Műveletek lehetőséget a felső menüben.

  2. Válassza az Új munkafolyamat lehetőséget.

  3. Válassza ki , hogy saját maga állítson be egy munkafolyamatot.

  4. Nevezze át a munkafolyamat-fájlt, ha más nevet szeretne, mint main.yml. Például: deployBicepFile.yml.

  5. Cserélje le az yml-fájl tartalmát a következő kódra:

    on: [push]
    name: Azure ARM
    permissions:
      id-token: write
      contents: read
    jobs:
      build-and-deploy:
        runs-on: ubuntu-latest
        steps:
    
          # Checkout code
        - uses: actions/checkout@main
    
          # Log into Azure
        - uses: azure/login@v2
          with:
            client-id: ${{ secrets.AZURE_CLIENT_ID }}
            tenant-id: ${{ secrets.AZURE_TENANT_ID }}
            subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
    
          # Deploy Bicep file
        - name: deploy
          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
    
  6. Válassza a Módosítások véglegesítése lehetőséget.

  7. Válassza a Véglegesítés lehetőséget közvetlenül a főágra.

  8. 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

  1. Válassza a Műveletek lapot. Megjelenik egy létrehozási deployBicepFile.yml munkafolyamat a listában. A munkafolyamat futtatása 1–2 percet vesz igénybe.
  2. Válassza ki a munkafolyamatot a megnyitásához, és ellenőrizze, hogy azStatus.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