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


Rövid útmutató: A GitHub Actions használata az Azure Database for PostgreSQL-hez való csatlakozáshoz – rugalmas kiszolgáló

A következőkre vonatkozik: Azure Database for PostgreSQL – Rugalmas kiszolgáló

Ismerkedjen meg a GitHub Actions szolgáltatással egy munkafolyamattal, amellyel adatbázis-frissítéseket helyezhet üzembe a rugalmas Azure Database for PostgreSQL-kiszolgálón.

Előfeltételek

A következők szükségesek:

Munkafolyamat-fájl áttekintése

A GitHub Actions-munkafolyamatokat egy YAML-fájl (.yml) definiálja 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:

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

Ü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>",
    (...)
  }

Másolja a rugalmas Azure Database for PostgreSQL-kiszolgálót kapcsolati sztring

Az Azure Portalon nyissa meg a rugalmas Azure Database for PostgreSQL-kiszolgálópéldányt, és az erőforrásmenü Beállítások területén válassza a Csatlakozás lehetőséget. Ezen a lapon az Adatbázisnév kombinált lista használatával jelölje ki annak az adatbázisnak a nevét, amelyhez csatlakozni szeretne. Bontsa ki a Csatlakozás lehetőséget az alkalmazás szakaszából, másolja ADO.NET kapcsolati sztring, és cserélje le a helyőrző értékét {your_password} a tényleges jelszóra. A kapcsolati sztring ehhez hasonlóan néz ki.

Server={servername.postgres.database.azure.com};Database={your_database};Port=5432;User Id={adminusername};Password={your_password};Ssl Mode=Require;

A kapcsolati sztring GitHub-titkos kódként használja.

A GitHub titkos kulcsainak konfigurálá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.

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

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

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

  6. Válassza az Add secret (Titkos kód hozzáadása) lehetőséget.

Munkafolyamat hozzáadása

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

  2. Válassza a Munkafolyamat 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: CI
    
    on:
    push:
        branches: [ main ]
    pull_request:
        branches: [ main ]
    
  4. Nevezze át a munkafolyamatot PostgreSQL for GitHub Actions , és adja hozzá a kivételt és a bejelentkezési műveleteket. Ezek a műveletek ellenőrzik a webhely kódját, és hitelesítik az Azure-ban a korábban létrehozott GitHub-titkos kód(ok) használatával.

    name: PostgreSQL for GitHub Actions
    
    on:
    push:
        branches: [ main ]
    pull_request:
        branches: [ main ]
    
    jobs:
    build:
        runs-on: ubuntu-latest
        steps:
        - uses: actions/checkout@v1
        - uses: azure/login@v1
        with:
            creds: ${{ secrets.AZURE_CREDENTIALS }}
    
  5. Az Azure PostgreSQL Deploy művelet használatával csatlakozzon rugalmas Azure Database for PostgreSQL-kiszolgálópéldányához. Cserélje le POSTGRESQL_SERVER_NAME a kiszolgáló nevére. Rendelkeznie kell egy rugalmas Azure Database for PostgreSQL-kiszolgálóadatfájllal, amely az adattár gyökérszintjén van elnevezve data.sql .

     - uses: azure/postgresql@v1
       with:
        connection-string: ${{ secrets.AZURE_POSTGRESQL_CONNECTION_STRING }}
        server-name: POSTGRESQL_SERVER_NAME
        plsql-file: './data.sql'
    
  6. Végezze el a munkafolyamatot úgy, hogy hozzáad egy műveletet az Azure-ból való kijelentkezéshez. Itt található a befejezett munkafolyamat. A fájl megjelenik az .github/workflows adattár mappájában.

    name: PostgreSQL for GitHub Actions
    
    on:
    push:
        branches: [ main ]
    pull_request:
        branches: [ main ]
    
    
    jobs:
    build:
        runs-on: ubuntu-latest
        steps:
        - uses: actions/checkout@v1
        - uses: azure/login@v1
        with:
            client-id: ${{ secrets.AZURE_CREDENTIALS }}
    
    - uses: azure/postgresql@v1
      with:
        server-name: POSTGRESQL_SERVER_NAME
        connection-string: ${{ secrets.AZURE_POSTGRESQL_CONNECTION_STRING }}
        plsql-file: './data.sql'
    
        # 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.

    A GitHub Actions futtatásának naplója.

Az erőforrások eltávolítása

Ha már nincs szükség rugalmas Azure Database for PostgreSQL-kiszolgálóadatbázisra és -adattárra, 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