Rövid útmutató: A GitHub Actions használata az Azure PostgreSQL-hez való csatlakozáshoz

A KÖVETKEZŐKRE VONATKOZIK: Azure Database for PostgreSQL – Önálló kiszolgáló

A KÖVETKEZŐKRE VONATKOZIK: Azure Database for PostgreSQL – Önálló kiszolgáló – Rugalmas Azure Database for PostgreSQL-kiszolgáló

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

Előfeltételek

A következőkre lesz szükség:

Munkafolyamat-fájl áttekintése

A GitHub Actions-munkafolyamatokat egy YAML-fájl (.yml) határozza meg 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ájlnak két szakasza van:

Section Feladatok
Hitelesítés 1. Üzembehelyezési hitelesítő adatok létrehozása.
Telepítés 1. Telepítse az adatbázist.

Üzembehelyezési hitelesítő adatok létrehozása

Hozzon létre egy szolgáltatásnevet 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 válassza a Kipróbálás gombot.

az ad sp create-for-rbac --name "myML" --role contributor \
                            --scopes /subscriptions/<subscription-id>/resourceGroups/<group-name> \
                            --sdk-auth

A fenti példában cserélje le a helyőrzőket az előfizetés-azonosító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ábbihoz 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>",
    (...)
  }

A PostgreSQL kapcsolati sztringjének másolása

Az Azure Portalon nyissa meg az Azure Database for PostgreSQL-kiszolgálót, és nyissa meg a Beállítások>kapcsolati sztringeket. Másolja az ADO.NET kapcsolati sztringet. Cserélje le a és your_passworda helyőrző értékeityour_database. A kapcsolati sztring ehhez hasonlóan fog kinézni.

Fontos

  • Önálló kiszolgáló esetén használja a következőt user=adminusername@servername : . Vegye figyelembe, hogy a @servername kötelező.
  • Rugalmas kiszolgáló esetén használja user= adminusername a következő nélkül: @servername.
psql host={servername.postgres.database.azure.com} port=5432 dbname={your_database} user={adminusername} password={your_database_password} sslmode=require

A kapcsolati sztringet GitHub-titkos kódként fogja használni.

A GitHub titkos kulcsainak konfigurálása

  1. A GitHubon nyissa meg az adattárat.

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

    Titkos kód hozzáadásának képernyőképe

  3. Válassza az Új adattár titkos kódja lehetőséget.

  4. Illessze be az Azure CLI-parancs teljes JSON-kimenetét a titkos kód értékmezőjébe. Adja meg a titkos kulcsot a névnek AZURE_CREDENTIALS.

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

Munkafolyamat hozzáadása

  1. Lépjen a GitHub-adattár műveletek elemére.

  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ételi és bejelentkezési műveleteket. Ezek a műveletek kiveszik a webhelykódot, és hitelesítik magukat 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 a PostgreSQL-példányhoz. Cserélje le POSTGRESQL_SERVER_NAME a elemet a kiszolgáló nevére. Rendelkeznie kell egy PostgreSQL-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
        sql-file: './data.sql'
    
  6. A munkafolyamat befejezéséhez adjon hozzá 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: 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 }}
        sql-file: './data.sql'
    
        # Azure logout
    - name: logout
      run: |
         az logout
    

Az üzembe helyezés áttekintése

  1. Nyissa meg a GitHub-adattár műveleteit .

  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 az Azure PostgreSQL-adatbázisra és -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