A GitHub Actions használata az Azure SQL Database-hez való csatlakozáshoz

A következőkre vonatkozik:Azure SQL Database

Az GitHub Actions használatának kezdése egy munkafolyamattal, amely adatbázis-frissítéseket telepít az Azure SQL Database rendszerébe.

Előfeltételek

Szükséged van:

Munkafolyamat-fájl áttekintése

A GitHub Actions-munkafolyamatokat egy YAML-fájl (.yml) definiálja a /.github/workflows/ útvonalon a tárházában. Ez a fájl a munkafolyamatot alkotó lépéseket és paramétereket tartalmaz.

A fájl két szakaszból áll:

Szakasz Tevékenységek
Hitelesítés 1. Üzembehelyezési hitelesítő adatok létrehozása.
Üzembe helyezés 2. Helyezze üzembe az adatbázist.

Ü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

Az SQL kapcsolati sztringjének másolása

Az Azure portálon keresse meg az Azure SQL Database-t, és nyissa meg a Beállítások>Kapcsolati sztringekcímkét. Másolja az ADO.NET kapcsolati sztringet. Cserélje le a your_database és your_password helyőrző értékeket.

A kapcsolati sztringet állítsd be GitHub-titokként, AZURE_SQL_CONNECTION_STRING.

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 megadhatók a munkafolyamatban, vagy a GitHub titkaiban tárolhatók, és a munkafolyamatban hivatkozhatók rájuk. 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 a Új tárhely-titoklehetőséget.

    Megjegyzé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élazonosító
    AZURE_SUBSCRIPTION_ID Előfizetés azonosítója
    AZURE_TENANT_ID Címtár (bérlő) azonosítója

    Megjegyzé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.

Az SQL kapcsolati sztring titkos kódjának hozzáadása

  1. A GitHubon nyissa meg az adattárat.

  2. Nyissa meg a Beállítások lehetőséget a navigációs menüben.

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

  4. Válassza a Új tárhely-titoklehetőséget.

  5. Illessze be az SQL kapcsolati sztringet. Adja meg a titkos nevet AZURE_SQL_CONNECTION_STRING.

  6. Válassza a Titkos kód hozzáadásalehetőséget.

Saját munkafolyamat hozzáadása

  1. Nyissa meg a GitHub-adattár műveletek elemét.

  2. Válassza a Munkafolyamat önálló beállítása lehetőséget.

  3. Töröljön mindent a on: munkafolyamat-fájl szakasza után. A fennmaradó munkafolyamat például így nézhet ki.

    name: SQL for GitHub Actions
    
    on:
        push:
            branches: [ main ]
        pull_request:
            branches: [ main ]
    
  4. Nevezze át a munkafolyamatot SQL for GitHub Actions , és adja hozzá a kivételi és bejelentkezési műveleteket. Ezek a műveletek a korábban létrehozott GitHub-titkos kóddal ellenőrzik a webhely kódját, és hitelesítik az AZURE_CREDENTIALS Azure-ban.

        name: SQL for GitHub Actions
    
        on:
            push:
                branches: [ main ]
            pull_request:
                branches: [ main ]
    
        jobs:
            build:
                runs-on: windows-latest
                steps:
                 - uses: actions/checkout@v1
                 - uses: azure/login@v2
                   with:
                    client-id: ${{ secrets.AZURE_CLIENT_ID }}
                    tenant-id: ${{ secrets.AZURE_TENANT_ID }}
                    subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
    

  1. Az Azure SQL Deploy művelet használatával csatlakozzon az SQL-példányhoz. Az adattár gyökérszintjén dacpac-csomagot (Database.dacpac) kell használnia. Használja a korábban létrehozott AZURE_SQL_CONNECTION_STRING GitHub-titkos kódot.

    - uses: azure/sql-action@v2.3
      with:
        connection-string: ${{ secrets.AZURE_SQL_CONNECTION_STRING }}
        path: './Database.dacpac'
        action: 'publish'
    
  2. Végezze el a munkafolyamatot úgy, hogy hozzáad egy műveletet az Azure kijelentkezéséhez. Itt található a befejezett munkafolyamat. A fájl megjelenik az .github/workflows adattár mappájában.

        name: SQL for GitHub Actions
    
        on:
            push:
                branches: [ main ]
            pull_request:
                branches: [ main ]
    
        jobs:
            build:
                runs-on: windows-latest
                steps:
                 - uses: actions/checkout@v1
                 - uses: azure/login@v2
                   with:
                    client-id: ${{ secrets.AZURE_CLIENT_ID }}
                    tenant-id: ${{ secrets.AZURE_TENANT_ID }}
                    subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
             - uses: azure/sql-action@v2.3
               with:
                connection-string: ${{ secrets.AZURE_SQL_CONNECTION_STRING }}
                path: './Database.dacpac'
                action: 'publish'
    
                # Azure logout 
                 - name: logout
                   run: |
                     az logout
    

Az üzembe helyezés áttekintése

  1. Nyissa meg a GitHub-adattár műveletek elemét.

  2. Nyissa meg az első eredményt a munkafolyamat futtatásának részletes naplóinak megtekintéséhez.

    GitHub-műveletek naplója

Az erőforrások tisztítása

Ha az Azure SQL-adatbázisra és az adattárra már nincs szükség, törölje az üzembe helyezett erőforrásokat az erőforráscsoport és a GitHub-adattár törlésével.

Következő lépések