Azure Pipelines для База данных Azure для MySQL — отдельный сервер
ОБЛАСТЬ ПРИМЕНЕНИЯ: База данных Azure для MySQL — отдельный сервер
Начните работу с Базой данных Azure для MySQL, развернув обновление базы данных с помощью Azure Pipelines. Azure Pipelines позволяет создавать, тестировать и развертывать ресурсы с использованием технологий непрерывной интеграции (CI) и непрерывной поставки (CD) в Azure DevOps.
Для этого вы примените задачу развертывания Базы данных Azure для MySQL Задача развертывания База данных Azure для MySQL работает только с одним сервером База данных Azure для MySQL.
Необходимые компоненты
Для этого потребуются следующие компоненты.
- Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно .
- Активная организация Azure DevOps. Регистрация в Azure Pipelines
- Репозиторий GitHub, который можно использовать для конвейера. Если у вас нет существующего репозитория, воспользуйтесь статьей Создание первого конвейера.
В качестве отправной точки в этом кратком руководстве используются ресурсы, созданные в соответствии со следующими материалами:
- Create an Azure Database for MySQL server using Azure portal (Создание базы данных Azure для сервера MySQL с помощью портала Azure)
- Create an Azure Database for MySQL server using Azure CLI (Создание сервера базы данных Azure для MySQL с помощью Azure CLI)
Создание конвейера
Вы примените простейший конвейер в качестве основы для своего конвейера.
Войдите в свою организацию Azure DevOps и откройте нужный проект.
В этом проекте перейдите к странице Pipelines (Конвейеры). Выберите действие создания конвейера сборки.
Пройдите через шаги мастера, выбрав GitHub в качестве расположения исходного кода.
Возможно, вам придется выполнить вход в GitHub. Для этого введите учетные данные GitHub.
Когда появится список репозиториев, выберите нужный репозиторий.
Azure Pipelines выполнит анализ этого репозитория и предложит варианты конфигурации. Выберите Простейший конвейер.
Создание секрета
Вам нужно знать имя сервера базы данных, имя пользователя SQL и пароль для этого пользователя SQL, чтобы применить эти данные в задаче развертывания Базы данных Azure для MySQL.
Для обеспечения безопасности пароль SQL лучше всего сохранить в секретной переменной через пользовательский интерфейс параметров конвейера.
- Перейдите на страницу Pipelines (Конвейеры), выберите соответствующий конвейер и нажмите кнопку Edit (Изменить).
- Выберите Переменные.
- Добавьте новую переменную с именем
SQLpass
и щелкните Сохранить секрет значения, чтобы зашифровать и сохранить эту переменную. - Поочередно щелкните ОК и Сохранить, чтобы добавить переменную.
Проверка разрешений для базы данных
Чтобы получить доступ к базе данных MySQL из Azure Pipelines, необходимо настроить для базы данных прием подключений от ресурсов Azure.
- Откройте ресурс базы данных на портале Azure.
- Выберите Безопасность подключения.
- Задайте для параметра Разрешить доступ к службам Azure значение Да.
Добавление задачи развертывания Базы данных Azure для MySQL
В этом примере мы создадим новую базу данных с именем quickstartdb
и добавим в нее таблицу inventory. Предложенный встроенный скрипт SQL выполнит следующие действия:
- удалит базу данных
quickstartdb
, если она существует, и создаст новую базу данныхquickstartdb
; - удалит таблицу
inventory
, если она существует, и создаст новую таблицуinventory
; - вставит три строки в
inventory
; - отобразит все строки;
- изменит значение первой строки в
inventory
; - удалит вторую строку из
inventory
.
Вам потребуется заменить в задаче развертывания следующие значения.
Входные данные | Description | Пример |
---|---|---|
azureSubscription |
Проверка подлинности с использованием подписки Azure и подключения к службе. | My Subscription |
ServerName |
Имя сервера Базы данных Azure для MySQL. | fabrikam.mysql.database.azure.com |
SqlUsername |
Имя пользователя в Базе данных Azure для MySQL. | mysqladmin@fabrikam |
SqlPassword |
Пароль для этого имени пользователя. Это значение нужно определить как секретную переменную. | $(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'
Развертывание и проверка ресурсов
Щелкните Сохранить и выполнить, чтобы развернуть конвейер. Будет запущено задание конвейера, и через несколько минут состояние задания примет значение Success
.
Вы можете убедиться, что конвейер успешно выполнен, в сведениях о задаче AzureMysqlDeployment
в этом выполнении конвейера.
Откройте эту задачу и убедитесь, что в последних двух записях отображаются две строки inventory
. Этих строк только две, так как вторая строка уже удалена.
Очистка ресурсов
Завершив работу с конвейером, удалите ресурс quickstartdb
из Базы данных Azure для MySQL. Вы также можете удалить созданный конвейер развертывания.