Quickstart: GitHub Actions gebruiken om verbinding te maken met Azure Database for PostgreSQL - Flexible Server
VAN TOEPASSING OP: Azure Database for PostgreSQL - Enkele server Azure Database for PostgreSQL - Flexibele server
Belangrijk
Azure Database for PostgreSQL - Enkele server bevindt zich op het buitengebruikstellingspad. We raden u ten zeerste aan om een upgrade uit te voeren naar Azure Database for PostgreSQL - Flexible Server. Zie Wat gebeurt er met Azure Database for PostgreSQL Enkele server voor meer informatie over migreren naar Azure Database for PostgreSQL - Flexible Server.
Ga aan de slag met GitHub Actions met behulp van een werkstroom voor het implementeren van database-updates op flexibele Azure Database for PostgreSQL-server.
Vereisten
U hebt het volgende nodig:
- Een Azure-account met een actief abonnement. Gratis een account maken
- Een GitHub-opslagplaats met voorbeeldgegevens (
data.sql
). Als u geen GitHub-account hebt, kunt u zich gratis registreren. - Een exemplaar van een flexibele Azure Database for PostgreSQL-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>",
(...)
}
De flexibele Azure Database for PostgreSQL-server kopiëren verbindingsreeks
Ga in Azure Portal naar uw exemplaar van flexibele Azure Database for PostgreSQL-server en open Instellingen> Verbinding maken iontekenreeksen. Kopieer de verbindingsreeks voor ADO.NET. Vervang de plaatsaanduidingswaarden door your_database
en your_password
. De verbindingsreeks ziet er ongeveer als volgt uit.
Belangrijk
- Gebruik
user=adminusername@servername
voor Azure Database for PostgreSQL enkele server. Let op:@servername
is vereist. - Gebruik voor flexibele Azure Database for PostgreSQL-server
user= adminusername
zonder de@servername
.
psql host={servername.postgres.database.azure.com} port=5432 dbname={your_database} user={adminusername} password={your_database_password} sslmode=require
U gebruikt de verbindingsreeks als gitHub-geheim.
De 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
PostgreSQL for GitHub Actions
en voeg de acties voor uitchecken en aanmelden toe. Met deze acties controleert u uw sitecode en verifieert u met Azure met behulp van de GitHub-geheimen die u eerder hebt gemaakt.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 }}
Gebruik de azure PostgreSQL-implementatieactie om verbinding te maken met uw flexibele Azure Database for PostgreSQL-serverexemplaren. Vervang
POSTGRESQL_SERVER_NAME
door de naam van uw server. U moet beschikken over een azure Database for PostgreSQL Flexible Server-gegevensbestand met de naamdata.sql
op het hoofdniveau van uw opslagplaats.- uses: azure/postgresql@v1 with: connection-string: ${{ secrets.AZURE_POSTGRESQL_CONNECTION_STRING }} server-name: POSTGRESQL_SERVER_NAME plsql-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: 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
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 Server-database en -opslagplaats van Azure Database for PostgreSQL niet meer nodig zijn, moet u de resources opschonen die u hebt geïmplementeerd door de resourcegroep en uw GitHub-opslagplaats te verwijderen.