Sdílet prostřednictvím


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:

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

  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 vypadat například takto.

    name: CI
    
    on:
    push:
        branches: [ main ]
    pull_request:
        branches: [ main ]
    
  4. 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 GitHubu AZURE_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 }}
    
  5. 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ázvem data.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'
    
  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: 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í

  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.

    Snímek obrazovky s protokolem 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 MySQL nepotřebujete, vyčistěte prostředky, které jste nasadili, odstraněním skupiny prostředků a úložiště GitHub.

Další krok