Použití GitHub Actions k připojení ke službě Azure SQL Database
Platí pro: Azure SQL Database
Začínáme s GitHub Actions pomocí pracovního postupu pro nasazení aktualizací databáze do Azure SQL Database
Požadavky
Potřebujete:
- Účet Azure s aktivním předplatným. Vytvoření účtu zdarma
- Úložiště GitHub s balíčkem dacpac (
Database.dacpac
). Pokud nemáte účet GitHubu, zaregistrujte se zdarma. - An Azure SQL Database. Rychlý start: Vytvoření izolované databáze Azure SQL Database
- Soubor .dacpac, který chcete importovat do databáze.
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.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í připojovací řetězec SQL
Na webu Azure Portal přejděte do služby Azure SQL Database a otevřete připojovací řetězce nastavení>. Zkopírujte připojovací řetězec pro ADO.NET. Nahraďte zástupné hodnoty pro your_database
a your_password
.
Připojovací řetězec nastavíte jako tajný kód AZURE_SQL_CONNECTION_STRING
GitHubu.
Konfigurace tajných kódů GitHubu
Na GitHubu přejděte do svého úložiště.
V navigační nabídce přejděte na Nastavení .
Vyberte Akce tajných kódů zabezpečení > a proměnných>.
Vyberte Nový tajný klíč úložiště.
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
.Vyberte Add secret (Přidat tajný kód).
Přidání tajného kódu SQL připojovací řetězec
Na GitHubu přejděte do svého úložiště.
V navigační nabídce přejděte na Nastavení .
Vyberte Akce tajných kódů zabezpečení > a proměnných>.
Vyberte Nový tajný klíč úložiště.
Vložte připojovací řetězec SQL. Dejte tajnému názvu
AZURE_SQL_CONNECTION_STRING
.Vyberte Add secret (Přidat tajný kód).
Přidání pracovního postupu
Přejděte na Akce pro úložiště GitHub.
Vyberte Nastavit pracovní postup sami.
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: SQL for GitHub Actions on: push: branches: [ main ] pull_request: branches: [ main ]
Přejmenujte pracovní postup
SQL 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ého kódu GitHubuAZURE_CREDENTIALS
, který jste vytvořili dříve.name: SQL for GitHub Actions on: push: branches: [ main ] pull_request: branches: [ main ] jobs: build: runs-on: windows-latest steps: - uses: actions/checkout@v1 - uses: azure/login@v1 with: creds: ${{ secrets.AZURE_CREDENTIALS }}
Pomocí akce Nasazení Azure SQL se připojte k vaší instanci SQL. Na kořenové úrovni úložiště byste měli mít balíček dacpac (
Database.dacpac
). Použijte tajný klíč GitHubuAZURE_SQL_CONNECTION_STRING
, který jste vytvořili dříve.- uses: azure/sql-action@v2 with: connection-string: ${{ secrets.AZURE_SQL_CONNECTION_STRING }} path: './Database.dacpac' action: 'Publish'
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: SQL for GitHub Actions on: push: branches: [ main ] pull_request: branches: [ main ] jobs: build: runs-on: windows-latest steps: - uses: actions/checkout@v1 - uses: azure/login@v1 with: creds: ${{ secrets.AZURE_CREDENTIALS }} - uses: azure/sql-action@v2 with: connection-string: ${{ secrets.AZURE_SQL_CONNECTION_STRING }} path: './Database.dacpac' action: 'Publish' # Azure logout - name: logout run: | az logout
Kontrola nasazení
Přejděte na Akce pro úložiště GitHub.
Otevřete první výsledek a prohlédněte si podrobné protokoly spuštění pracovního postupu.
Vyčištění prostředků
Pokud už databázi a úložiště Azure SQL nepotřebujete, vyčistěte prostředky, které jste nasadili, odstraněním skupiny prostředků a úložiště GitHub.