Rychlý start: Připojení k flexibilnímu serveru Azure Database for MySQL pomocí GitHub Actions
Začněte pracovat s GitHub Actions pomocí pracovního postupu pro nasazení aktualizací databáze na flexibilní server Azure Database for MySQL.
Požadavky
Budete potřebovat:
Účet Azure s aktivním předplatným. Vytvoření účtu zdarma
Účet GitHub. Pokud nemáte účet GitHubu, zaregistrujte se zdarma.
Úložiště GitHub s ukázkovými daty (
data.sql
).Důležité
V tomto rychlém startu se předpokládá, že jste naklonovali úložiště GitHub do počítače, abyste mohli v případě potřeby přidat přidruženou IP adresu do pravidla brány firewall.
Instance flexibilního serveru Azure Database for MySQL
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í připojovací řetězec MySQL
Na webu Azure Portal přejděte do instance flexibilního serveru Azure Database for MySQL 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
.
Důležité
- Pro jednoúčelový server Azure Database for MySQL použijte Uid=adminusername@servername. Všimněte si, že @servername je povinný.
- Pro flexibilní server Azure Database for MySQL použijte Uid =adminusername bez parametru @servername.
Připojovací řetězec použijete jako tajný kód 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í 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 vypadat například takto.name: CI on: push: branches: [ main ] pull_request: branches: [ main ]
Přejmenujte pracovní postup
MySQL 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: MySQL 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 MySQL se připojte k vaší instanci MySQL. Nahraďte
MYSQL_SERVER_NAME
názvem serveru. Měli byste mít datový soubor MySQL s názvemdata.sql
na kořenové úrovni úložiště.- uses: azure/mysql@v1 with: server-name: MYSQL_SERVER_NAME connection-string: ${{ secrets.AZURE_MYSQL_CONNECTION_STRING }} sql-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: MySQL 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/mysql@v1 with: server-name: MYSQL_SERVER_NAME connection-string: ${{ secrets.AZURE_MYSQL_CONNECTION_STRING }} sql-file: './data.sql' # 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ě flexibilního serveru Azure Database for MySQL nepotřebujete, vyčistěte prostředky, které jste nasadili, odstraněním skupiny prostředků a úložiště GitHub.