Azure Pipelines för Azure Database for MySQL – enskild server
GÄLLER FÖR: Azure Database for MySQL – enskild server
Kom igång med Azure Database for MySQL genom att distribuera en databasuppdatering med Azure Pipelines. Med Azure Pipelines kan du skapa, testa och distribuera med kontinuerlig integrering (CI) och kontinuerlig leverans (CD) med Hjälp av Azure DevOps.
Du använder azure database for MySQL-distributionsuppgiften. Azure Database for MySQL-distributionsuppgiften fungerar bara med Azure Database for MySQL– enskild server.
Förutsättningar
Innan du börjar behöver du:
- Ett Azure-konto med en aktiv prenumeration. Skapa ett konto utan kostnad.
- En aktiv Azure DevOps-organisation. Registrera dig för Azure Pipelines.
- En GitHub-lagringsplats som du kan använda för din pipeline. Om du inte har någon befintlig lagringsplats kan du läsa Skapa din första pipeline.
I den här snabbstarten används de resurser som skapades i någon av följande guider som utgångspunkt:
- Skapa en Azure Database för MySQL med Azure Portal
- Skapa en Azure Database för MySQL-server med Azure CLI
Skapa din pipeline
Du använder den grundläggande startpipelinen som grund för din pipeline.
Logga in på din Azure DevOps-organisation och gå till projektet.
I projektet navigerar du till sidan Pipelines . Välj sedan åtgärden för att skapa en ny pipeline.
Gå igenom stegen i guiden genom att först välja GitHub som plats för källkoden.
Du kan omdirigeras till GitHub för att logga in. I så fall anger du dina GitHub-autentiseringsuppgifter.
När listan över lagringsplatser visas väljer du önskad lagringsplats.
Azure Pipelines analyserar lagringsplatsen och erbjuder konfigurationsalternativ. Välj Startpipeline.
Skapa en hemlighet
Du måste känna till databasserverns namn, SQL-användarnamn och SQL-lösenord som ska användas med azure database for MySQL-distributionsuppgiften.
För säkerhet vill du spara ditt SQL-lösenord som en hemlig variabel i pipelineinställningarnas användargränssnitt för din pipeline.
Gå till sidan Pipelines , välj lämplig pipeline och välj sedan Redigera.
Välj variabler.
Lägg till en ny variabel med namnet
SQLpass
och välj Behåll den här värdehemligheten för att kryptera och spara variabeln.Välj Ok och Spara för att lägga till variabeln.
Verifiera behörigheter för databasen
För att få åtkomst till mySQL-databasen med Azure Pipelines måste du ange att databasen ska acceptera anslutningar från alla Azure-resurser.
Öppna databasresursen i Azure-portalen.
Välj Anslutningssäkerhet.
Växla Tillåt åtkomst till Azure-tjänster till Ja.
Lägg till azure database for MySQL-distributionsuppgiften
I det här exemplet skapar vi en ny databas med namnet quickstartdb
och lägger till en inventeringstabell. Det infogade SQL-skriptet kommer att:
- Ta bort
quickstartdb
om den finns och skapa en nyquickstartdb
databas. - Ta bort tabellen
inventory
om den finns och skapa en nyinventory
tabell. - Infoga tre rader i
inventory
. - Visa alla rader.
- Uppdatera värdet för den första raden i
inventory
. - Ta bort den andra raden i
inventory
.
Du måste ersätta följande värden i distributionsuppgiften.
Indata | beskrivning | Exempel |
---|---|---|
azureSubscription |
Autentisera med din Azure-prenumeration med en tjänstanslutning. | My Subscription |
ServerName |
Namnet på din Azure Database for MySQL-server. | fabrikam.mysql.database.azure.com |
SqlUsername |
Användarnamnet för din Azure Database for MySQL. | mysqladmin@fabrikam |
SqlPassword |
Lösenordet för användarnamnet. Detta bör definieras som en hemlig variabel. | $(SQLpass) |
trigger:
- main
pool:
vmImage: ubuntu-latest
steps:
- task: AzureMysqlDeployment@1
inputs:
azureSubscription: '<your-subscription>
ServerName: '<db>.mysql.database.azure.com'
SqlUsername: '<username>@<db>'
SqlPassword: '$(SQLpass)'
TaskNameSelector: 'InlineSqlTask'
SqlInline: |
DROP DATABASE IF EXISTS quickstartdb;
CREATE DATABASE quickstartdb;
USE quickstartdb;
-- Create a table and insert rows
DROP TABLE IF EXISTS inventory;
CREATE TABLE inventory (id serial PRIMARY KEY, name VARCHAR(50), quantity INTEGER);
INSERT INTO inventory (name, quantity) VALUES ('banana', 150);
INSERT INTO inventory (name, quantity) VALUES ('orange', 154);
INSERT INTO inventory (name, quantity) VALUES ('apple', 100);
-- Read
SELECT * FROM inventory;
-- Update
UPDATE inventory SET quantity = 200 WHERE id = 1;
SELECT * FROM inventory;
-- Delete
DELETE FROM inventory WHERE id = 2;
SELECT * FROM inventory;
IpDetectionMethod: 'AutoDetect'
Distribuera och verifiera resurser
Välj Spara och kör för att distribuera din pipeline. Pipelinejobbet startas och efter några minuter bör jobbstatusen ange Success
.
Du kan kontrollera att pipelinen AzureMysqlDeployment
har körts i aktiviteten i pipelinekörningen.
Öppna uppgiften och kontrollera att de två sista posterna visar två rader i inventory
. Det finns två rader eftersom den andra raden har tagits bort.
Rensa resurser
När du är klar med din pipeline tar du bort quickstartdb
i Azure Database for MySQL. Du kan också ta bort distributionspipelinen som du skapade.