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 – Önálló azure database for PostgreSQL – rugalmas kiszolgáló

Fontos

Azure Database for PostgreSQL – Az önálló kiszolgáló a kivezetési útvonalon van. Határozottan javasoljuk, hogy frissítsen az Azure Database for PostgreSQL rugalmas kiszolgálóra. A rugalmas Azure Database for PostgreSQL-kiszolgálóra való migrálással kapcsolatos további információkért lásd: Mi történik az önálló Azure Database for PostgreSQL-kiszolgálóval?

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 rugalmas Azure Database for PostgreSQL-kiszolgálópéldányát, és nyissa meg Gépház> Csatlakozás ion-sztringeket. Másolja az ADO.NET kapcsolati sztringet. Cserélje le a helyőrző értékeket a következőre your_database : és your_password. A kapcsolati sztring ehhez hasonlóan néz ki.

Fontos

  • Az önálló Azure Database for PostgreSQL-kiszolgálóhoz használja a következőt user=adminusername@servername : . Vegye figyelembe, hogy a @servername szükséges.
  • Rugalmas Azure Database for PostgreSQL-kiszolgáló esetén használja user= adminusername a @servername.
psql host={servername.postgres.database.azure.com} port=5432 dbname={your_database} user={adminusername} password={your_database_password} sslmode=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 Gépház 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