Rychlý start: Připojení k flexibilnímu serveru Azure Database for PostgreSQL pomocí GitHub Actions

PLATÍ PRO: Flexibilní server Azure Database for PostgreSQL – Jednoúčelový server Azure Database for PostgreSQL

Důležité

Jednoúčelový server Azure Database for PostgreSQL je na cestě vyřazení. Důrazně doporučujeme upgradovat na flexibilní server Azure Database for PostgreSQL. Další informace o migraci na flexibilní server Azure Database for PostgreSQL najdete v tématu Co se děje s jednoúčelovým serverem Azure Database for PostgreSQL?

Začněte pracovat s GitHub Actions pomocí pracovního postupu pro nasazení aktualizací databáze na flexibilní server Azure Database for PostgreSQL.

Požadavky

Potřebujete:

Přehled souboru pracovního postupu

Pracovní postup GitHub Actions je definovaný souborem YAML (.yml) v /.github/workflows/ cestě ve vašem úložišti. Tato definice obsahuje různé kroky a parametry, které tvoří pracovní postup.

Soubor má dvě části:

Sekce Úlohy
Authentication 1. Vygenerujte přihlašovací údaje pro nasazení.
Nasazení 1. Nasaďte databázi.

Generování přihlašovacích údajů pro nasazení

Pomocí příkazu az ad sp create-for-rbac v Azure CLI vytvořte instanční objekt. Spusťte tento příkaz pomocí Azure Cloud Shellu na webu Azure Portal nebo výběrem tlačítka Vyzkoušet .

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

--json-auth Parametr je k dispozici ve verzích >Azure CLI = 2.51.0. Verze před tímto použitím --sdk-auth s upozorněním na vyřazení.

V předchozím příkladu nahraďte zástupné symboly ID vašeho předplatného, názvem skupiny prostředků a názvem aplikace. Výstupem je objekt JSON s přihlašovacími údaji pro přiřazení role, které poskytují přístup k vaší aplikaci App Service podobně jako v následujícím příkladu. Zkopírujte tento objekt JSON pro pozdější použití.

  {
    "clientId": "<GUID>",
    "clientSecret": "<GUID>",
    "subscriptionId": "<GUID>",
    "tenantId": "<GUID>",
    (...)
  }

Kopírování flexibilního serveru Azure Database for PostgreSQL připojovací řetězec

Na webu Azure Portal přejděte do instance flexibilního serveru Azure Database for PostgreSQL a otevřete Nastavení> Připojení ionové řetězce. Zkopírujte připojovací řetězec pro ADO.NET. Nahraďte zástupné hodnoty pro your_database a your_password. Připojovací řetězec vypadá nějak takto.

Důležité

  • Pro jednoúčelový server Azure Database for PostgreSQL použijte user=adminusername@servername . Všimněte si, že @servername je to povinné.
  • Flexibilní server Azure Database for PostgreSQL použijte user= adminusername bez nástroje @servername.
psql host={servername.postgres.database.azure.com} port=5432 dbname={your_database} user={adminusername} password={your_database_password} sslmode=require

Připojovací řetězec použijete jako tajný kód GitHubu.

Konfigurace tajných kódů GitHubu

  1. Na GitHubu přejděte do svého úložiště.

  2. V navigační nabídce přejděte na Nastavení.

  3. Vyberte Akce tajných kódů zabezpečení > a proměnných>.

    Snímek obrazovky s přidáním tajného kódu

  4. Vyberte Nový tajný klíč úložiště.

  5. Celý výstup JSON z příkazu Azure CLI vložte do pole hodnoty tajného kódu. Dejte tajnému názvu AZURE_CREDENTIALS.

  6. Vyberte Add secret (Přidat tajný kód).

Přidání pracovního postupu

  1. Přejděte na Akce pro úložiště GitHub.

  2. Vyberte Nastavit pracovní postup sami.

  3. Odstraňte všechno za oddílem on: souboru pracovního postupu. Váš zbývající pracovní postup může například vypadat takto.

    name: CI
    
    on:
    push:
        branches: [ main ]
    pull_request:
        branches: [ main ]
    
  4. Přejmenujte pracovní postup PostgreSQL for GitHub Actions a přidejte akce rezervace a přihlášení. Tyto akce si projděte kód webu a ověřte se v Azure pomocí tajných kódů GitHubu, které jste vytvořili dříve.

    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. Pomocí akce Nasazení Azure PostgreSQL se připojte k instanci flexibilního serveru Azure Database for PostgreSQL. Nahraďte POSTGRESQL_SERVER_NAME názvem serveru. Měli byste mít datový soubor flexibilního serveru Azure Database for PostgreSQL pojmenovaný data.sql na kořenové úrovni úložiště.

     - uses: azure/postgresql@v1
       with:
        connection-string: ${{ secrets.AZURE_POSTGRESQL_CONNECTION_STRING }}
        server-name: POSTGRESQL_SERVER_NAME
        plsql-file: './data.sql'
    
  6. Dokončete pracovní postup přidáním akce pro odhlášení z Azure. Tady je dokončený pracovní postup. Soubor se zobrazí ve .github/workflows složce úložiště.

    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
    

Kontrola nasazení

  1. Přejděte na Akce pro úložiště GitHub.

  2. Otevřete první výsledek a prohlédněte si podrobné protokoly spuštění pracovního postupu.

    Protokol spuštění GitHub Actions

Vyčištění prostředků

Pokud už databázi a úložiště flexibilního serveru Azure Database for PostgreSQL nepotřebujete, vyčistěte prostředky, které jste nasadili, odstraněním skupiny prostředků a úložiště GitHub.

Další kroky