Ejercicio: Automatización de actualizaciones con Acciones de GitHub
Acciones de GitHub es una manera de automatizar las canalizaciones de CI/CD para muchos servicios diferentes, incluido Azure SQL Database.
Recuerde que, en el escenario de transporte en autobús, creará la base de la aplicación con la base de datos. Si quiere actualizar la base de datos o implementar de forma automática las mismas configuraciones en una nueva, puede usar Acciones de GitHub.
Para automatizar las actualizaciones, tendrá que configurar secretos de GitHub y un archivo yaml. Después de configurarlos, las nuevas confirmaciones que se insertan desencadenan flujos de trabajo que, a su vez, actualizarán la instancia de Azure SQL Database u otros servicios.
Configuración de secretos de forma segura con GitHub
Los secretos de GitHub presentan una manera de almacenar secretos, claves y otra información confidencial de forma segura en GitHub. En esta sección, creará un secreto de GitHub que incluye la cadena de conexión de Azure SQL Database.
En un archivo de texto, el Bloc de notas o en papel, determine la cadena de conexión de la instancia de Azure SQL Database. Será algo como
Server=<server-name>.database.windows.net,1433;Initial Catalog=bus-db;User Id=cloudadmin;Password=<your-password>;Connection Timeout=30;
.Vaya al repositorio de este módulo en GitHub (asegúrese de que ha iniciado sesión). Será algo como
https://github.com/<your-git-username>/serverless-full-stack-apps-azure-sql
.Seleccione Configuración para el repositorio.
Seleccione Secretos y variables>Acciones>Nuevo secreto del repositorio y escriba la siguiente información:
- Nombre: AZURE_SQL_CONNECTION_STRING
- Secreto: la cadena de conexión del paso anterior
Seleccione Add secret (Agregar secreto).
Configuración del archivo yaml para Acciones de GitHub
Hay varios archivos yaml de plantilla disponibles en el repositorio de código. Para este módulo, solo usará el archivo de flujo de trabajo para Azure SQL Database.
En Visual Studio Code, seleccione el icono de Explorar en la barra de actividad para ver los archivos del repositorio. Si no los ve, seleccione Archivo>Abrir carpeta y vaya a la ubicación donde ha clonado el repositorio.
En la carpeta
.github\workflows
, cambie el nombreazuresqldatabase.yml.template
porazuresqldatabase.yml
.Revise la plantilla e intente comprender lo que hará el flujo de trabajo y cómo actualizará la base de datos.
Inserción de confirmaciones y supervisión de los resultados mediante Visual Studio Code y GitHub
Ahora que el secreto de GitHub y el archivo de flujo de trabajo están configurados, está listo para insertar las confirmaciones y observar el flujo de trabajo.
Seleccione el icono Control de código fuente en la barra de actividades.
En el cuadro Mensaje, escriba "Habilitar yaml de base de datos" o algún otro mensaje.
Seleccione la marca de verificación. Si recibe una advertencia sobre la confirmación sin almacenar provisionalmente ningún archivo, puede seleccionar Sí para almacenar provisionalmente los archivos modificados.
Seleccione ...>Insertar. Esto inserta las actualizaciones en el repositorio hospedado en GitHub e inicia cualquier instancia de Acciones de GitHub.
Importante
Si se le pide que inicie sesión, debe usar el nombre de usuario de GitHub y obtener un token de acceso personal para proporcionarlo en lugar de la contraseña de GitHub. Puede hacerlo si va hasta https://github.com/settings/tokens/new. Agregue una nota
VSCode
, active todas las casillas y seleccione Generate token (Generar token). Copie el texto del token y guárdelo en una ubicación segura. De nuevo en Visual Studio Code, use el token como contraseña o token para iniciar sesión en GitHub.Vaya al repositorio de GitHub de este módulo y seleccione Acciones. Acciones de GitHub permite automatizar, personalizar y ejecutar los flujos de trabajo de desarrollo de software directamente en el repositorio.
Observe el contenido del flujo de trabajo en ejecución (o completado). Observe cómo la acción Azure SQL utiliza el archivo
.dacpac
del repositorio para implementar el estado final de la base de datos en la instancia de Azure SQL Database.