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.
Požadavky
Než začnete, potřebujete:
- Účet Azure s aktivním předplatným. Vytvoření účtu zdarma
- Aktivní organizace Azure DevOps Zaregistrujte se ke službě Azure Pipelines.
- Úložiště GitHub, které můžete použít pro svůj kanál. Pokud nemáte existující úložiště, přečtěte si téma Vytvoření prvního kanálu.
Tento rychlý start jako výchozí bod využívá prostředky vytvořené v některém z těchto průvodců:
- Vytvoření serveru Azure Database for MySQL pomocí webu Azure Portal
- Vytvoření serveru Azure Database for MySQL pomocí Azure CLI
Vytvoření kanálu
Základní počáteční kanál použijete jako základ pro váš kanál.
Přihlaste se ke své organizaci Azure DevOps a přejděte do svého projektu.
V projektu přejděte na stránku Kanály . Pak zvolte akci, která vytvoří nový kanál.
Projděte si kroky průvodce tak, že nejprve vyberete GitHub jako umístění zdrojového kódu.
Můžete být přesměrováni na GitHub kvůli přihlášení. Pokud ano, zadejte svoje přihlašovací údaje GitHubu.
Jakmile se zobrazí seznam úložišť, vyberte požadované úložiště.
Azure Pipelines bude analyzovat vaše úložiště a nabízet možnosti konfigurace. Vyberte počáteční kanál.
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.
Přejděte na stránku Kanály , vyberte příslušný kanál a pak vyberte Upravit.
Vyberte Proměnné.
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.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.
Na webu Azure Portal otevřete prostředek databáze.
Vyberte Zabezpečení připojení.
Přepněte možnost Povolit přístup ke službám Azure na ano.
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 novouquickstartdb
databázi. - Odstraňte tabulku
inventory
, pokud existuje, a vytvořte novouinventory
tabulku. - Vložte do
inventory
něj tři řádky . - Zobrazí všechny řádky.
- Aktualizujte hodnotu prvního řádku v
inventory
souboru . - Odstraňte druhý řádek v
inventory
souboru .
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.
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.