Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
minLevel1
maxLevel6
outlinefalse
styledefault
typelist
printabletrue

Introducción

En este post veremos las herramientas que componen la suite Azure DevOps.

...

Pasos previos

En primer lugar, se debe crear una cuenta en Azure y después crear una instancia de Azure DevOps (https://azure.microsoft.com/es-es/products/devops )

...

Donde crearemos la organización y dentro el proyecto:

...

Azure Repos

Azure Repos es un repositorio de código privado. que cumple el estándar Git.

Más info: https://azure.microsoft.com/es-es/products/devops/repos

Su funcionamiento dno se diferencia demasiado de cualquier otro repositorio de código Git, responde a los mismos comandos y presenta un formato similar:

...

Para una configuración exclusiva del Azure Repos, existe esta opción:

...

Azure Pipelines

Azure Pipelines es el servidor de automatización de Azure DevOps, combina la integración continua, pruebas continuas y la entrega continua.

Más info: https://azure.microsoft.com/es-es/products/devops/pipelines

El funcionamiento de Azure Pipelines es muy similar a Jenkins, aunque opta por YAML como lenguaje de scripting.

...

Una vez lanzas un pipeline, tendremos un apartado de información donde podremos ver quien ha ejecutado ese pipeline, cuando, como ha ido el proceso, por que ha fallado, etc:

...

Podremos ver el log del pipeline que se ha ejecutado al igual que en Jenkins, job por job:

...

O el log de manera completacompleto:

...

Ademas de incluso poder descargarlos:

...

Se podrá puede ver también el histórico de lanzamientos:

...

Si nos fijamos, nos da bastante informacion como En este histórico se muestra el nombre de pipeline, el usuario que lo lanzo (dentro de esa ejecucion sale el nombre completo), el proyecto, la rama de la que esta tirando (develop/master/another…) y el commit de esa rama por si hubo cambios posteriores, duraccion duración y si hubo exitoéxito:

...

En el apartado de Library podremos añadir diferentes cosaselementos; por ejemplo variables de entorno globales que queramos utilizar en diferentes pipelines o claves privadas:

...

Para poder lanzar estos pipelines puedes utilizar diferentes recursos como un entorno de Kubernetes (AKS) que ya tengasse tenga, maquinas máquinas virtuales con Azure o los agentes de Azure:

...

En cuanto a la seguridad, podremos definir diferentes grupos de usuarios los cuales tendran tendrán definidos diferentes permisos para manejar los pipelines:

...

Entre esos permisos estan: crear pipeline, borrar pipelines, borrar ejecuciones, parar ejecuciones, lanzar ejecucciones etc:

...

Azure Artifacts

En este caso, Azure Artifacts ofrece una funcionalidad similar a Nexus (en la versión gratuita solo permite 2GB):

...

Por ejemplo, para subir artefactos de Maven sería siguiendo estas instruccionesAzure Artifacts es el repositorio de dependencias de Azure DevOps, por tanto puede compararse con Nexus.

Más info: https://azure.microsoft.com/es-es/products/devops/artifacts

La subida de artefactos se realiza siguiendo estos pasos (ejemplo Maven):

...

Creando el token como indica en la documentación:

...

Para indicar el usuario y token, se debe crear un fichero settings.xml que se debe configurar al realizar el deploy (en este caso se ha definido un profile “testArtifact “testArtifact” para no modificar el resto de configuración existente):

...

Code Block
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                              https://maven.apache.org/xsd/settings-1.0.0.xsd">
  <servers>
    <server>
      <id>testArtifact</id>
      <username>prubiog</username>
      <password>TOKEN</password>
    </server>
  </servers>
</settings>

...

GitHub Advanced Security

Esta funcionalidad no se ha podido probar ya que requiere tener una suscripción no gratuita para poder activarla en Azure Repos. Sería similar a lo que ofrece SonarQube. Se habilitaría Github Advanced Security es la herramienta de Azure DevOps para la inspección continua de la calidad del código a través de diferentes herramientas:

Más info: https://azure.microsoft.com/es-es/products/devops/github-advanced-security

Permite:

  • Examen de código para un análisis estático eficaz que le ayuda a encontrar y corregir vulnerabilidades en el código mientras lo escribe

  • Examen de dependencias para detectar componentes vulnerables de código abierto y ofrecer una guía de corrección sencilla

  • Examen de secretos para buscar secretos expuestos en el Azure Repos e impedir que se envíen nuevos secretos en el código

  • Conjunto de herramientas de pruebas de seguridad nativas de la plataforma Azure DevOps

Se habilitar en esta opción de configuración:

...

Y permite por ejemplo:

...

Azure Boards

Azure Boards permite a los equipos planear, realizar un seguimiento y analizar el trabajo en todo el proceso de desarrollo junto con metodologías ágiles.

Más info: https://azure.microsoft.com/es-es/products/devops/boards

Ofrece una interfaz y funcionalidad similar al Planner de Microsoft o a un tablero Trello, con capacidad de ordenar las tareas, definir sprints, etc:

...

En esta parte también se definen las pruebas, que se podrán ejecutar en la parte de Azure Test Plans:

...

Azure Test Plans

Azure Test Plans proporciona herramientas para definir y ejecutar pruebas de forma sencilla permitiendo gestionar pruebas manuales, pruebas de aceptación del usuario, pruebas exploratorias y la recopilación de comentarios de las partes interesadas.

Más info: https://azure.microsoft.com/es-es/products/devops/test-plans

Una vez definidas esas las pruebas en la parte de Azure Boards, se habilita el plan de pruebas en la parte de Azure Test Plans. En este sentido, esta dependencia le quita capacidad a la herramienta al depender de lo definido en Azure Boards, dependiendo de las Issues o Tasks definidas allí.

...

Una vez vistas las pruebas definidas, se pueden ejecutar, con los pasos definidos en cada una de ellas y marcando cada una como ejecutada correctamente, fallada, bloqueada o no aplica. Permite la ejecución desde otra ventana del navegador donde aparecen los pasos o también con una aplicación de escritorio que permite descargar.

...

...

Azure Container Registry

...

El ACR es un recurso que no está en permite crear, almacenar, proteger, examinar, replicar y administrar imágenes de contenedor y artefactos con una instancia con replicación geográfica y totalmente administrada.

Más info: https://azure.microsoft.com/es-es/products/container-registry

ACR no forma parte de la suite de Azure DevOps se .

Se crea como un recursos más en la consola de Azure. Primero se debe crear un grupo de recursos y dentro del mismo se pueden crear diferentes tipos, incluido el “registro de contenedor” (aparece buscando registry en el buscador de recursos). La configuración es básica, ya que en el plan gratuito apenas deja personalizar ningún aspecto:

...

Para subir una imagen , es bastante sencillo, solamente hay que hacer login con el cliente de azure (azure-cli) y eso permite conectar con el registry, pudiendo tagear una imagen y subirla al registro:

...

Ofrece servicios de autenticación mediante token (para clústers de kubernetes por ejemplo) y también permite replicación geográfica para cumplir con la alta disponibilidad.

Además, integra Microsoft Defender que permite analizar las imágenes subidas en busca de vulnerabilidades:

...