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:
- Egy Azure-fiók, aktív előfizetéssel. Hozzon létre ingyenes fiókot.
- Egy GitHub-adattár mintaadatokkal (
data.sql
). Ha nincs GitHub-fiókja, regisztráljon ingyenesen. - Egy Azure Database for PostgreSQL-kiszolgáló.
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_password
a 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
A GitHubon nyissa meg az adattárat.
Válassza a Biztonsági > titkos kódok és változók > Műveletek lehetőséget.
Válassza az Új adattár titkos kódja lehetőséget.
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
.Válassza az Add secret (Titkos kód hozzáadása) lehetőséget.
Munkafolyamat hozzáadása
Lépjen a GitHub-adattár műveletek elemére.
Válassza a Munkafolyamat beállítása lehetőséget.
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 ]
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 }}
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 elnevezvedata.sql
.- uses: azure/postgresql@v1 with: connection-string: ${{ secrets.AZURE_POSTGRESQL_CONNECTION_STRING }} server-name: POSTGRESQL_SERVER_NAME sql-file: './data.sql'
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
Nyissa meg a GitHub-adattár műveleteit .
Nyissa meg az első eredményt a munkafolyamat futtatásának részletes naplóinak megtekintéséhez.
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.