Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ismerkedés a GitHub Actions szolgáltatással egy munkafolyamat használatával, amely adatbázis-frissítéseket helyez üzembe az Azure Database for PostgreSQL-ben.
Előfeltételek
A következők szükségesek:
- Egy Azure-fiók, aktív előfizetéssel. Hozzon létre egy fiókot ingyenesen.
- Egy GitHub-adattár mintaadatokkal (
data.sql). Ha nincs GitHub-fiókja, regisztráljon ingyenesen. - Azure Database for PostgreSQL rugalmas kiszolgálópéldány.
- Hozzon létre egy Azure Database for PostgreSQL-t.
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:
| Szakasz | Tasks |
|---|---|
| Authentication | 1. Üzembehelyezési hitelesítő adatok létrehozása. |
| Üzembe helyezés | 1. 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
- Microsoft Entra-alkalmazás létrehozása szolgáltatásazonossággal az Azure Portal, Azure CLI vagy Azure PowerShell használatával.
- Másolja ki az ügyfél-azonosító, az előfizetés-azonosító és a címtár-(bérlői) azonosító értékeit a GitHub Actions munkafolyamat későbbi részében való használathoz.
- Rendeljen hozzá egy megfelelő szerepkört a szolgáltatási főnévhez az Azure portal, az Azure CLI vagy az Azure PowerShell használatával.
- Konfiguráljon összevont identitás-hitelesítő adatokat egy Microsoft Entra-alkalmazáson , hogy megbízzon a GitHub Actions által a GitHub-adattárban kibocsátott jogkivonatokban.
2. lehetőség: Felhasználó által hozzárendelt felügyelt identitás
- Felhasználó által hozzárendelt felügyelt identitás létrehozása.
- Másolja ki az ügyfél-azonosító, az előfizetés-azonosító és a címtár-(bérlői) azonosító értékeit a GitHub Actions munkafolyamat későbbi részében való használathoz.
- Rendeljen hozzá egy megfelelő szerepkört a felhasználó által hozzárendelt felügyelt identitáshoz.
- Konfiguráljon egy federált identitás hitelesítő adatot egy felhasználóhoz rendelt felügyelt identitáson, hogy megbízhasson a GitHub Actions által kibocsátott jogkivonatokban a GitHub-adattárban.
Az Azure Database for PostgreSQL kapcsolati sztringjének másolása
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. Nyissa meg a Csatlakozás az alkalmazásból szakaszt, másolja az ADO.NET kapcsolati sztringet, és helyettesítse a helyőrző értékét {your_password} a tényleges jelszóval. A kapcsolati karakterlánc 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 stringet GitHub-titkos kódként használja.
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 a munkafolyamatban is megadhatók, vagy a GitHub titkokban tárolhatók, és a munkafolyamatban hivatkozhatók. Az értékek GitHub-titkos kulcsként való mentése a biztonságosabb megoldás.
A GitHubon nyissa meg az adattárat.
Válassza ki a Biztonsági > titkos kulcsok és változók > műveletek lehetőséget.
Válassza az Új tárház titkos kódját.
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á.
Titkos kulcsok létrehozása a következőhöz
AZURE_CLIENT_ID: ,AZURE_TENANT_IDésAZURE_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 (Az Azure ügyfélazonosító) Ügyfélazonosító AZURE_SUBSCRIPTION_ID Előfizetés azonosító AZURE_TENANT_ID Címtár (ügyfél) 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.
Adja hozzá munkafolyamatát
Nyissa meg a GitHub-adattár műveletek elemét.
Válassza a munkafolyamatot állítsa be maga.
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 fizetési és 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@v2 with: client-id: ${{ secrets.AZURE_CLIENT_ID }} tenant-id: ${{ secrets.AZURE_TENANT_ID }} subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}Az Azure PostgreSQL Deploy művelettel csatlakozzon az Azure Database for PostgreSQL rugalmas kiszolgálópéldányához. Cserélje le
POSTGRESQL_SERVER_NAMEa kiszolgáló nevére. Rendelkeznie kell egy Azure Database for 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 plsql-file: './data.sql'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/workflowsadattá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@v2 with: client-id: ${{ secrets.AZURE_CLIENT_ID }} tenant-id: ${{ secrets.AZURE_TENANT_ID }} subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }} - 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
Nyissa meg a GitHub-adattár műveletek elemét.
Nyissa meg az első eredményt a munkafolyamat futtatásának részletes naplóinak megtekintéséhez.
Erőforrások tisztítása
Ha az Azure Database for 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.