Resumen de Understanding Azure DevOps Pipelines

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 6

Nombre

Landy Radhames Evangelista De Los Santos


Matricula

2022-0781
Materia

Electiva 2 (DevOps)
Fecha

30/10/2024
Maestro

Francis Ramirez
Resumen del material Understanding Azure DevOps Pipelines

La importancia de definir un pipeline en Azure DevOps para guiar el flujo del


código desde su construcción hasta el lanzamiento. Cubre temas como CI/CD,
agentes de construcción, YAML y la integración con GitHub y contenedores en
pipelines de múltiples etapas.

Las etapas principales son:


• Implementación de un proceso CI/CD.
• Descripción general de Azure Pipelines.
• Creación y uso de agentes de construcción.
• Introducción al formato YAML.
• Creación de un pipeline CI/CD en Azure DevOps.
• Retención de construcciones.
• Pipeline de múltiples etapas.
• Uso de repositorios de GitHub y trabajos en contenedores en los
pipelines

Implementación de un proceso CI/CD


Al adoptar DevOps en una empresa, es esencial y crucial implementar las
herramientas DevOps adecuadas con los procesos DevOps adecuados. Uno de los
flujos fundamentales en una implementación DevOps es el proceso de integración
continua (CI) y entrega continua(CD), que puede ayudar a los desarrolladores a
crear, probar y distribuir una base de código de una manera más rápida,
estructurada y segura.
CI es una práctica de ingeniería de software en la que los desarrolladores de un
equipo integran modificaciones de código en un repositorio central varias veces al
día. Cuando una modificación de código se integra en una rama en particular
(normalmente con una solicitud de extracción, como se explicó en el capítulo
anterior), se activa una nueva compilación para verificar el código y detectar
errores de integración rápidamente. Además, durante esta fase se ejecutan pruebas
automáticas (si están disponibles) para verificar si hay fallas.
CD es el proceso que viene después del proceso CI. En este proceso, el resultado
de la fase CI se empaqueta y se entrega a la etapa de producción sin errores. Esto
es extremadamente útil para que siempre tengamos una rama maestra que esté
probada, sea consistente y esté lista para ser implementada.
En DevOps, también puede tener un proceso de implementación continúa
implementado, donde puede automatizar la implementación de sus modificaciones
de código en los entornos de producción finales sin intervención manual

La implementación del pipeline CI/CD contiene las siguientes


etapas:
Commit stage: aquí, las nuevas modificaciones del código se integran en la base
de código yse realiza un conjunto de pruebas unitarias para verificar la integridad
y la calidad del código.
Build stage: aquí, el código se compila automáticamente y luego los resultados
finales del proceso de compilación (artefactos) se envían al registro final.
Test stage: el código de compilación se implementará en preproducción, donde se
realizarán las pruebas finales y luego pasará a la implementación de producción.
Production deployment stage: aquí es donde la aplicación final, después de pasar
con éxito todos los requisitos de prueba, pasa a la etapa de producción.

Descripción general de Azure Pipelines


Azure Pipelines es un servicio en la nube ofrecido por la plataforma Azure que le
permite automatizar las fases de creación, prueba y lanzamiento de su ciclo de vida
de desarrollo (CI/CD). Azure Pipelines funciona con cualquier lenguaje o
plataforma, está integrado en Azure DevOps y puede crear su código en máquinas
Windows, Linux o macOS.
Algunas características importantes de Azure Pipelines se pueden resumir de
la siguiente manera:
• Es independiente de la plataforma y del lenguaje, lo que significa que puede
crear código en cualquier plataforma utilizando la base de código que desee.
• Se puede integrar con diferentes tipos de repositorios (Azure Repos,
GitHub, GitHub Enterprise, BitBucket, etc.).
• Hay muchas extensiones (estándar e impulsadas por la comunidad)
disponibles para crear su código y para gestionar tareas personalizadas.
• Le permite implementar su código en diferentes proveedores de la nube.
• Puede trabajar con aplicaciones en contenedores como Docker, Azure
Container Registry o Kubernetes.
Creación y uso de agentes de construcción.
Para crear e implementar su código con Azure Pipelines, necesita al menos un
agente. Un agente es un servicio que ejecuta los trabajos definidos en su
canalización. La ejecución de estos trabajos puede ocurrir directamente en la
máquina host del agente o en contenedores.

Al definir agentes para su canalización, tiene esencialmente dos tipos de


agentes posibles:
• Agentes hospedados por Microsoft: este es un servicio totalmente
administrado por Microsoft y se borra en cada ejecución de la canalización
(en cada ejecución de canalización, tiene un nuevo entorno).
• Agentes auto hospedados: este es un servicio que debe configurar y
administrar usted mismo.
• Puede ser una máquina virtual personalizada en Azure o una máquina local
personalizada dentro de su infraestructura. En un agente auto hospedado,
puede instalar todo el software que necesita para sus compilaciones, y esto
se conserva en cada ejecución de canalización. Un agente auto hospedado
puede estar en Windows, Linux, macOS o en un contenedor Docker.

Introducción al formato YAML.


YAML, acrónimo de YAML Ain't Markup Language, es un lenguaje de script
legible para humanos que se utiliza para la serialización de datos y normalmente
se utiliza para manejar definiciones de configuraciones para aplicaciones. Puede
considerarse un superconjunto de JSON.
YAML utiliza sangría para manejar la estructura de las definiciones de los objetos
y no es sensible a las comillas y llaves. Es simplemente un lenguaje de
representación de datos y no se utiliza para ejecutar comandos.
Con Azure DevOps, YAML es extremadamente importante porque permite definir
una canalización mediante una definición de script en lugar de una interfaz gráfica
(que no se puede trasladar entre proyectos).
Creación de un pipeline CI/CD en Azure DevOps.
Para crear un pipeline de CI/CD en Azure DevOps, comienza creando o
seleccionando un proyecto dentro de tu organización en Azure DevOps. Luego,
configura el repositorio de código en la sección de "Repos", donde deberás cargar
el código de tu aplicación o seleccionar uno ya existente.
Una vez configurado, ve a la sección "Pipelines" y selecciona "Create Pipeline"
para iniciar la configuración de la integración y entrega continua. Azure te pedirá
que elijas el repositorio fuente y el método de configuración, ya sea YAML para
tener un archivo editable y versionado, o configurarlo manualmente.
También te ofrecerá plantillas predefinidas que se pueden adaptar según el tipo de
proyecto, como .NET, Node.js, entre otros.

Retention of builds
Retention of builds se refiere al proceso de almacenamiento temporal de los
archivos o resultados generados durante la compilación o construcción de una
aplicación dentro de un pipeline de CI/CD. Estos artefactos (como archivos
ejecutables, bibliotecas, paquetes, entre otros) se retienen para garantizar que estén
disponibles para etapas posteriores, como las pruebas y la implementación.
En un contexto de DevOps, la retención es importante para asegurar que siempre
se utilicen los artefactos correctos y aprobados en los entornos de producción,
además de facilitar el diagnóstico y la auditoría si ocurre algún problema en
versiones específicas de la aplicación.
En Azure DevOps, Retention of builds puede configurarse para eliminar los
artefactos automáticamente después de un período determinado o mantenerlos
según el cumplimiento de ciertos criterios, optimizando así el uso de
almacenamiento en la plataforma.

Pipeline de múltiples etapas.


Como explicamos anteriormente, puedes organizar los trabajos de tu pipeline en
etapas.
Las etapas son límites lógicos dentro de un flujo de pipeline (unidades de trabajo
que puedes asignara un agente) que te permiten aislar el trabajo, pausar el pipeline
y ejecutar verificaciones u otras acciones. De manera predeterminada, cada
pipeline se compone de una etapa, pero puedes crear más de una y organizar esas
etapas en un gráfico de dependencia.
Uso de repositorios de GitHub y trabajos en contenedores en los
pipelines
El uso de repositorios de GitHub y contenedores en los pipelines de CI/CD permite
crear flujos de trabajo más eficientes y portables. Aquí te explico cómo se integran
en el proceso:

Repositorios de GitHub:
Conectar GitHub con un pipeline permite que cada cambio en el código
desencadene una ejecución automática del pipeline, lo que asegura la integración
continua.
Los pipelines pueden configurarse para escuchar eventos en GitHub, como pull
requests o commits a ciertas ramas. Esta integración ayuda a mantener el código
actualizado y probado en cada cambio, sin importar cuántos colaboradores trabajen
en el proyecto.

Trabajos en Contenedores:
Ejecutar trabajos en contenedores permite que los pipelines sean más predecibles
y aislados, ya que se ejecutan en entornos que contienen todas las dependencias
necesarias y no dependen del sistema operativo o configuración específica del
agente.
En Azure DevOps y GitHub Actions, puedes especificar una imagen de Docker
para que cada etapa del pipeline se ejecute en un contenedor preconfigurado, lo
que garantiza que las dependencias y versiones necesarias estén disponibles.
Además, es ideal para aplicaciones que requieren entornos complejos o
específicos, ya que puedes personalizar los contenedores y evitar problemas de
compatibilidad.

También podría gustarte