Dela via


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:

I den här snabbstarten används de resurser som skapades i någon av följande guider som utgångspunkt:

Skapa din pipeline

Du använder den grundläggande startpipelinen som grund för din pipeline.

  1. Logga in på din Azure DevOps-organisation och gå till projektet.

  2. I projektet navigerar du till sidan Pipelines . Välj sedan åtgärden för att skapa en ny pipeline.

  3. Gå igenom stegen i guiden genom att först välja GitHub som plats för källkoden.

  4. Du kan omdirigeras till GitHub för att logga in. I så fall anger du dina GitHub-autentiseringsuppgifter.

  5. När listan över lagringsplatser visas väljer du önskad lagringsplats.

  6. Azure Pipelines analyserar lagringsplatsen och erbjuder konfigurationsalternativ. Välj Startpipeline.

    Screenshot of Select Starter pipeline.

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.

  1. Gå till sidan Pipelines , välj lämplig pipeline och välj sedan Redigera.

  2. Välj variabler.

  3. 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.

    Screenshot of adding a secret variable.

  4. 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.

  1. Öppna databasresursen i Azure-portalen.

  2. Välj Anslut ionssäkerhet.

  3. Växla Tillåt åtkomst till Azure-tjänster till Ja.

    Screenshot of setting MySQL to allow Azure connections.

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 ny quickstartdb databas.
  • Ta bort tabellen inventory om den finns och skapa en ny inventory 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 Description 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.

Screenshot to show reviewing final table results.

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.

Nästa steg