Compartir a través de


Azure Pipelines para Azure Database for MySQL: servidor único

SE APLICA A: Azure Database for MySQL: servidor único

Comience con Azure Database for MySQL al implementar una actualización de base de datos con Azure Pipelines. Azure Pipelines permite compilar, probar e implementar con integración continua (CI) y entrega continua (CD) mediante Azure DevOps.

Usará la tarea de implementación de Azure Database for MySQL. La tarea de implementación de Azure Database for MySQL solo funciona con Azure Database for MySQL: servidor único.

Requisitos previos

Antes de comenzar, necesitará lo siguiente:

En este tutorial rápido se usan como punto de partida los recursos creados en una de estas guías:

Creación de la canalización

Usará la canalización de inicio como base para la canalización.

  1. Inicie sesión en su organización de Azure DevOps y vaya a su proyecto.

  2. En el proyecto, vaya a la página Pipelines (Canalizaciones). A continuación, elija la acción para crear una canalización.

  3. Siga los pasos del asistente y seleccione primero GitHub como ubicación del código fuente.

  4. Puede que se le redirija a GitHub para iniciar sesión. Si es así, escriba sus credenciales de GitHub.

  5. Cuando aparezca la lista de repositorios, seleccione el que quiera.

  6. Azure Pipelines analizará el repositorio y ofrecerá opciones de configuración. Seleccione Canalización inicial.

    Captura de pantalla de Seleccione la canalización de inicio.

Crear un secreto

Deberá conocer el nombre del servidor de bases de datos, el nombre de usuario de SQL y la contraseña de SQL para usarlos con la tarea de implementación de Azure Database for MySQL.

Por motivos de seguridad, querrá guardar la contraseña de SQL como una variable secreta en la interfaz de usuario de configuración de la canalización.

  1. Vaya a la página Canalizaciones, seleccione la canalización adecuada y, después, seleccione Editar.

  2. Seleccione Variables.

  3. Agregue una nueva variable denominada SQLpass y seleccione Mantener este valor como secreto para cifrar y guardar la variable.

    Captura de pantalla de la incorporación de una variable secreta.

  4. Seleccione Aceptar y Guardar para agregar la variable.

Comprobación de los permisos de la base de datos

Para acceder a la base de datos MySQL con Azure Pipelines, debe configurar la base de datos para que acepte conexiones de todos los recursos de Azure.

  1. En Azure Portal, abra el recurso de la base de datos.

  2. Seleccione Seguridad de la conexión.

  3. Establezca Permitir el acceso a servicios de Azure en .

    Captura de pantalla de la configuración de MySQL para permitir las conexiones de Azure.

Adición de la tarea de implementación de Azure Database for MySQL

En este ejemplo, crearemos una nueva base de datos denominada quickstartdb y agregaremos una tabla de inventario. El script SQL insertado hará lo siguiente:

  • Borrar quickstartdb, si existe, y crear una nueva base de datos quickstartdb.
  • Eliminar la tabla inventory, si existe, y crear una nueva tabla inventory.
  • Insertar tres filas en inventory.
  • Mostrar todas las filas.
  • Actualizar el valor de la primera fila de inventory.
  • Eliminar la segunda fila de inventory.

Deberá reemplazar los siguientes valores en la tarea de implementación.

Entrada Descripción Ejemplo
azureSubscription Autentíquese con la suscripción de Azure con una conexión de servicio. My Subscription
ServerName Nombre del servidor de Azure Database for MySQL. fabrikam.mysql.database.azure.com
SqlUsername Nombre de usuario de la Azure Database for MySQL. mysqladmin@fabrikam
SqlPassword Contraseña del nombre de usuario. Se debe definir como una variable secreta. $(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'

Implementación y comprobación de recursos

Seleccione Guardar y ejecutar para implementar la canalización. El trabajo de canalización se iniciará y, después de unos minutos, el estado del trabajo debe indicar Success.

Puede comprobar que la canalización se ejecutó correctamente dentro de la tarea AzureMysqlDeployment en la ejecución de la canalización.

Abra la tarea y compruebe que las dos últimas entradas muestran dos filas en inventory. Hay dos filas porque se ha eliminado la segunda fila.

Captura de pantalla para mostrar la revisión de los resultados de la tabla final.

Limpieza de recursos

Cuando haya terminado de trabajar con la canalización, elimine quickstartdb en Azure Database for MySQL. También puede eliminar la canalización de implementación que ha creado.

Pasos siguientes