Azure Pipelines pro Jednoúčelový server Azure Database for MySQL

PLATÍ PRO: Jednoúčelový server Azure Database for MySQL

Začněte se službou Azure Database for MySQL nasazením aktualizace databáze pomocí Azure Pipelines. Azure Pipelines umožňuje sestavovat, testovat a nasazovat s využitím kontinuální integrace (CI) a průběžného doručování (CD) pomocí Azure DevOps.

Použijete úlohu nasazení Azure Database for MySQL. Úloha nasazení Azure Database for MySQL funguje jenom s jednoúčelovým serverem Azure Database for MySQL.

Předpoklady

Než začnete, potřebujete:

Tento rychlý start jako výchozí bod využívá prostředky vytvořené v některém z těchto průvodců:

Vytvoření kanálu

Základní počáteční kanál použijete jako základ pro váš kanál.

  1. Přihlaste se ke své organizaci Azure DevOps a přejděte do svého projektu.

  2. V projektu přejděte na stránku Kanály . Pak zvolte akci, která vytvoří nový kanál.

  3. Projděte si kroky průvodce tak, že nejprve vyberete GitHub jako umístění zdrojového kódu.

  4. Můžete být přesměrováni na GitHub kvůli přihlášení. Pokud ano, zadejte svoje přihlašovací údaje GitHubu.

  5. Jakmile se zobrazí seznam úložišť, vyberte požadované úložiště.

  6. Azure Pipelines bude analyzovat vaše úložiště a nabízet možnosti konfigurace. Vyberte počáteční kanál.

    Screenshot of Select Starter pipeline.

Vytvoření tajného kódu

Abyste mohli použít úlohu nasazení Azure Database for MySQL, musíte znát název databázového serveru, uživatelské jméno SQL a heslo SQL.

Pro zabezpečení budete chtít uložit heslo SQL jako tajnou proměnnou v uživatelském rozhraní nastavení kanálu pro váš kanál.

  1. Přejděte na stránku Kanály , vyberte příslušný kanál a pak vyberte Upravit.

  2. Vyberte Proměnné.

  3. Přidejte novou proměnnou s názvem SQLpass a vyberte Zachovat tento tajný kód hodnoty, abyste tuto proměnnou zašifrovali a uložili.

    Screenshot of adding a secret variable.

  4. Výběrem možnosti OK a Uložit přidejte proměnnou.

Ověření oprávnění pro vaši databázi

Pokud chcete získat přístup k databázi MySQL pomocí Azure Pipelines, musíte nastavit databázi tak, aby přijímala připojení ze všech prostředků Azure.

  1. Na webu Azure Portal otevřete prostředek databáze.

  2. Vyberte zabezpečení Připojení.

  3. Přepněte možnost Povolit přístup ke službám Azure na ano.

    Screenshot of setting MySQL to allow Azure connections.

Přidání úlohy nasazení Azure Database for MySQL

V tomto příkladu vytvoříme nové databáze s názvem quickstartdb a přidáme tabulku inventáře. Vložený skript SQL:

  • Pokud existuje, odstraňte quickstartdb ji a vytvořte novou quickstartdb databázi.
  • Odstraňte tabulku inventory , pokud existuje, a vytvořte novou inventory tabulku.
  • Vložte do inventoryněj tři řádky .
  • Zobrazí všechny řádky.
  • Aktualizujte hodnotu prvního řádku v inventorysouboru .
  • Odstraňte druhý řádek v inventorysouboru .

V úloze nasazení budete muset nahradit následující hodnoty.

Vstup Popis Příklad
azureSubscription Ověřte se pomocí předplatného Azure pomocí připojení ke službě. My Subscription
ServerName Název serveru Azure Database for MySQL. fabrikam.mysql.database.azure.com
SqlUsername Uživatelské jméno vaší služby Azure Database for MySQL. mysqladmin@fabrikam
SqlPassword Heslo pro uživatelské jméno. Tato hodnota by měla být definována jako tajná proměnná. $(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'

Nasazení a ověření prostředků

Vyberte Uložit a spustit a nasaďte kanál. Úloha kanálu bude spuštěna a po několika minutách by měl stav úlohy znamenat Success.

Můžete ověřit, že se váš kanál úspěšně spustil v rámci AzureMysqlDeployment úlohy spuštění kanálu.

Otevřete úkol a ověřte, zda poslední dvě položky zobrazují dva řádky v inventory. Existují dva řádky, protože druhý řádek byl odstraněn.

Screenshot to show reviewing final table results.

Vyčištění prostředků

Až budete s kanálem hotovi, odstraňte quickstartdb ho ve službě Azure Database for MySQL. Kanál nasazení, který jste vytvořili, můžete také odstranit.

Další kroky