Rychlý start: Použití GitHub Actions pro připojení k Azure PostgreSQL
PLATÍ PRO: Azure Database for PostgreSQL – Jednoúčelový server
Azure Database for PostgreSQL – flexibilní server
Důležité
Azure Database for PostgreSQL – Jeden server je na cestě vyřazení z provozu. 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 Azure Database for PostgreSQL jednoúčelovým serverem?
Začněte s GitHub Actions nasazením aktualizací databáze do Azure Database for PostgreSQL pomocí pracovního postupu.
Požadavky
Budete potřebovat:
- Účet Azure s aktivním předplatným. Vytvořte si zdarma účet.
- Úložiště GitHub s ukázkovými daty (
data.sql
). Pokud nemáte účet GitHub, zaregistrujte se zdarma. - Server Azure Database for PostgreSQL.
Přehled souboru pracovního postupu
Pracovní postup GitHub Actions je definován 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 | Úkoly |
---|---|
Authentication | 1. Vygenerujte přihlašovací údaje pro nasazení. |
Nasazení | 1. Nasaďte databázi. |
Generování přihlašovacích údajů nasazení
Vytvořte instanční objekt pomocí příkazu az ad sp create-for-rbac v Azure CLI. Spusťte tento příkaz se službou Azure Cloud Shell v 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> \
--sdk-auth
Ve výše uvedené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 přiřazení role, které poskytují přístup k vaší App Service aplikaci, podobně jako níže. Zkopírujte tento objekt JSON pro pozdější použití.
{
"clientId": "<GUID>",
"clientSecret": "<GUID>",
"subscriptionId": "<GUID>",
"tenantId": "<GUID>",
(...)
}
Zkopírování připojovacího řetězce PostgreSQL
V Azure Portal přejděte na server Azure Database for PostgreSQL a otevřetePřipojovací řetězcenastavení>. 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 použijte
user=adminusername@servername
. Všimněte si, že@servername
je povinné. - Pro flexibilní server použijte
user= adminusername
bez .@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
V GitHubu přejděte do svého úložiště.
V navigační nabídce přejděte na Nastavení .
Vyberte Tajné kódy zabezpečení > a proměnné > Akce.
Vyberte Nový tajný klíč úložiště.
Vložte celý výstup JSON z příkazu Azure CLI do pole hodnoty tajného kódu. Dejte tajnému kódu název
AZURE_CREDENTIALS
.Vyberte Add secret (Přidat tajný kód).
Přidání pracovního postupu
Přejděte na Akce pro vaše úložiště GitHub.
Vyberte Nastavit pracovní postup sami.
Odstraňte všechno za oddílem
on:
souboru pracovního postupu. Například zbývající pracovní postup může vypadat takto.name: CI on: push: branches: [ main ] pull_request: branches: [ main ]
Přejmenujte pracovní postup
PostgreSQL for GitHub Actions
a přidejte akce rezervace a přihlášení. Tyto akce prověří kód lokality a ověří 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 }}
Pomocí akce Azure PostgreSQL Nasadit se připojte k instanci PostgreSQL. Nahraďte
POSTGRESQL_SERVER_NAME
názvem vašeho serveru. Datový soubor PostgreSQL byste měli mít nadata.sql
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'
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í
Přejděte na Akce pro vaše úložiště GitHub.
Otevřením prvního výsledku zobrazíte podrobné protokoly o spuštění pracovního postupu.
Vyčištění prostředků
Pokud už databázi a úložiště Azure PostgreSQL nepotřebujete, vyčistěte nasazené prostředky odstraněním skupiny prostředků a úložiště GitHub.