Quickstart: GitHub Actions gebruiken om verbinding te maken met Azure Database for MySQL - Flexible Server
VAN TOEPASSING OP: Azure Database for MySQL - Enkele server Azure Database for MySQL - Flexibele server
Belangrijk
Azure Database for MySQL enkele server bevindt zich op het buitengebruikstellingspad. We raden u ten zeerste aan een upgrade uit te voeren naar een flexibele Azure Database for MySQL-server. Zie Wat gebeurt er met Azure Database for MySQL Enkele server voor meer informatie over migreren naar Azure Database for MySQL Flexibele server ?
Ga aan de slag met GitHub Actions met behulp van een werkstroom om database-updates te implementeren op een flexibele Azure Database for MySQL-server.
Vereisten
U hebt het volgende nodig:
Een Azure-account met een actief abonnement. Gratis een account maken
Een GitHub-account. Als u geen GitHub-account hebt, kunt u zich gratis registreren.
Een GitHub-opslagplaats met voorbeeldgegevens (
data.sql
).Belangrijk
In deze quickstart wordt ervan uitgegaan dat u een GitHub-opslagplaats hebt gekloond naar uw computer, zodat u indien nodig het gekoppelde IP-adres kunt toevoegen aan een firewallregel.
Een exemplaar van een flexibele Azure Database for MySQL-server.
Overzicht van werkstroom bestand
Een GitHub Actions-werkstroom wordt gedefinieerd door een YAML-bestand (.yml) in het pad /.github/workflows/
in uw opslagplaats. Deze definitie bevat de verschillende stappen en parameters die deel uitmaken van de werkstroom.
Het bestand heeft twee secties:
Sectie | Opdrachten |
---|---|
Verificatie | 1. Implementatiereferenties genereren. |
Implementatie | 1. Implementeer de database. |
Genereer implementatiereferenties
Maak een service-principal met de opdracht az ad sp create-for-rbac in de Azure CLI. Voer deze opdracht uit met Azure Cloud Shell in de Azure Portal of door de knop Uitproberen te selecteren.
az ad sp create-for-rbac --name "myML" --role contributor \
--scopes /subscriptions/<subscription-id>/resourceGroups/<group-name> \
--json-auth
De parameter --json-auth
is beschikbaar in Azure CLI-versies >= 2.51.0. Versies vóór dit gebruik --sdk-auth
met een afschaffingswaarschuwing.
Vervang in het bovenstaande voorbeeld de tijdelijke aanduidingen door uw abonnements-id, resourcegroepnaam en app-naam. De uitvoer is een JSON-object met de roltoewijzingsreferenties die toegang bieden tot uw App Service-app, vergelijkbaar met hieronder. Kopieer dit JSON-object voor later gebruik.
{
"clientId": "<GUID>",
"clientSecret": "<GUID>",
"subscriptionId": "<GUID>",
"tenantId": "<GUID>",
(...)
}
MySQL-verbindingsreeks kopiëren
Ga in Azure Portal naar uw flexibele azure Database for MySQL-serverexemplaren en open instellingenverbindingstekenreeksen>. Kopieer de verbindingsreeks voor ADO.NET. Vervang de plaatsaanduidingswaarden door your_database
en your_password
.
Belangrijk
- Gebruik Uid=adminusername@servername voor azure Database for MySQL enkele server. Let op de @servername is vereist.
- Gebruik voor Flexibele Azure Database for MySQL-server Uid=adminusername zonder de @servername.
U gebruikt de verbindingsreeks als een GitHub-geheim.
GitHub-geheimen configureren
Ga in GitHub naar uw opslagplaats.
Ga naar Instellingen in het navigatiemenu.
Selecteer Acties voor beveiligingsgeheimen > en variabelen>.
Selecteer Nieuw opslagplaatsgeheim.
Plak de volledige JSON-uitvoer van de Azure CLI-opdracht in het waardeveld van het geheim. Geef het geheim de naam
AZURE_CREDENTIALS
.Selecteer Geheim toevoegen.
Voeg uw werkstroom toe
Ga naar Acties voor uw GitHub-opslagplaats.
Selecteer Uw werkstroom zelf instellen.
Verwijder alles na de sectie
on:
van uw werkstroombestand. Uw resterende werkstroom kan er bijvoorbeeld als volgt uitzien.name: CI on: push: branches: [ main ] pull_request: branches: [ main ]
Wijzig de naam van uw werkstroom
MySQL for GitHub Actions
en voeg de acties voor uitchecken en aanmelden toe. Met deze acties kunt u uw sitecode bekijken en verifiëren met Azure met behulp van hetAZURE_CREDENTIALS
GitHub-geheim dat u eerder hebt gemaakt.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 }}
Gebruik de Azure MySQL-implementatie-actie om verbinding te maken met uw MySQL-exemplaar. Vervang
MYSQL_SERVER_NAME
door de naam van uw server. U moet een MySQL-gegevensbestand met de naamdata.sql
hebben op het niveau van de hoofdmap van uw opslagplaats.- uses: azure/mysql@v1 with: server-name: MYSQL_SERVER_NAME connection-string: ${{ secrets.AZURE_MYSQL_CONNECTION_STRING }} sql-file: './data.sql'
Voltooi uw werkstroom door een actie toe te voegen om u af te melden bij Azure. Dit is de voltooide werkstroom. Het bestand wordt weergegeven in de
.github/workflows
map van uw opslagplaats.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
Beoordeel uw implementatie
Ga naar Acties voor uw GitHub-opslagplaats.
Open het eerste resultaat om gedetailleerde logboeken van de uitvoering van de werkstroom weer te geven.
Resources opschonen
Wanneer uw flexibele Azure Database for MySQL-serverdatabase en -opslagplaats niet meer nodig zijn, moet u de resources opschonen die u hebt geïmplementeerd door de resourcegroep en uw GitHub-opslagplaats te verwijderen.