Compilación y administración de contenedores con tareas

Completado

Las tareas de Azure Container Registry (ACR) son un conjunto de características que:

  • Proporcionar la creación de imágenes de contenedor basadas en la nube para plataformas como Linux, Windows y Advanced RISC Machines (Arm).
  • Amplía los primeros elementos de un ciclo de desarrollo de aplicaciones a la nube con compilaciones de imágenes de contenedor a petición.
  • Habilita compilaciones automatizadas desencadenadas por actualizaciones de código fuente, actualizaciones de la imagen base de un contenedor o temporizadores.

Escenarios de tareas

ACR Tasks admite varios escenarios para compilar y mantener imágenes de contenedor y otros artefactos.

  • Tarea rápida : compile e inserte una sola imagen de contenedor en un registro de contenedor a petición en Azure, sin tener que realizar una instalación local del motor de Docker. Considere que docker build, es docker push en la nube.

  • Tareas desencadenadas automáticamente: habilite uno o varios desencadenadores para compilar una imagen:

    • Desencadenar al actualizar el código fuente
    • Desencadenar al actualizar la imagen base
    • Desencadenar de acuerdo con una programación
  • Tarea de varios pasos : amplíe la funcionalidad de inserción y compilación de una única imagen de ACR Tasks con flujos de trabajo basados en varios contenedores y varios pasos.

Cada tarea de ACR tiene un contexto de código fuente asociado (la ubicación de un conjunto de archivos de código fuente que se usa para compilar una imagen de contenedor u otro artefacto). Los ejemplos de contextos incluyen un repositorio GIT o un sistema de archivos local.

Tarea rápida

El ciclo de desarrollo bucle interno es el proceso iterativo de escritura de código, compilación y prueba de la aplicación antes de confirmar el control de código fuente. Es realmente el principio de la administración del ciclo de vida de los contenedores.

Antes de confirmar la primera línea de código, la característica de tareas rápidas de ACR Tasks puede proporcionar una experiencia de desarrollo integrado mediante la descarga de compilaciones de imágenes de contenedor en Azure. Con las tareas rápidas, puede comprobar las definiciones de compilación automatizadas y detectar posibles problemas antes de confirmar el código.

Usando el formato conocido docker build, el comando az acr build de la CLI de Azure toma un contexto (el conjunto de archivos que se van a compilar), lo envía a ACR Tasks y, de forma predeterminada, inserta la imagen compilada en su registro tras completarse.

Desencadenamiento de una tarea al actualizar el código fuente

Desencadene una compilación de imágenes de contenedor o una tarea de varios pasos cuando se confirme el código, o bien se actualice o realice una solicitud de incorporación de cambios, en un repositorio de Git en GitHub o Azure DevOps Services. Por ejemplo, configure una tarea de compilación con el comando az acr task create de la CLI de Azure especificando un repositorio GIT y, opcionalmente, una rama y un Dockerfile. Cuando el equipo actualiza el código en el repositorio, un webhook creado por ACR Tasks desencadena una compilación de la imagen de contenedor definida en el repositorio.

Desencadenar al actualizar la imagen base

Puede configurar una instancia de ACR Tasks para realizar el seguimiento de una dependencia de una imagen base al compilar una imagen de aplicación. Cuando la imagen base actualizada se inserta en el registro, o una imagen base se actualiza en un repositorio público, como en Docker Hub, ACR Tasks puede compilar automáticamente cualquier imagen de aplicación basada en ella.

Programación de una tarea

Puede programar una tarea mediante la configuración de uno o más desencadenadores de temporizador al crear o actualizar la tarea. La programación de una tarea resulta útil para ejecutar cargas de trabajo de contenedor según una programación definida o para ejecutar operaciones de mantenimiento o pruebas en imágenes insertadas periódicamente en el registro.

Tareas de varios pasos

Las tareas de varios pasos, definidas en un archivo YAML especifican operaciones de compilación e inserción individuales para imágenes de contenedor u otros artefactos. También pueden definir la ejecución de uno o más contenedores, donde cada paso utiliza el contenedor como su entorno de ejecución. Por ejemplo, puede crear una tarea de varios pasos que automatice lo siguiente:

  1. Crear una imagen de aplicación web
  2. Ejecutar el contenedor de aplicaciones web
  3. Crear una imagen de prueba de aplicación web
  4. Ejecutar el contenedor de prueba de aplicaciones web, que realiza pruebas en el contenedor de aplicaciones en ejecución
  5. Si se superan las pruebas, compilar un paquete de archivo de gráfico de Helm
  6. Realizar una acción helm upgrade con el nuevo paquete de archivo de gráfico de Helm

Plataformas de imagen

De forma predeterminada, ACR Tasks compila imágenes para el sistema operativo Linux y la arquitectura AMD64. Especifique la etiqueta --platform para compilar imágenes de Windows o imágenes de Linux para otras arquitecturas. Especifique el sistema operativo y, opcionalmente, una arquitectura admitida en formato de arquitectura o sistema operativo (por ejemplo,--platform Linux/arm). En el caso de las arquitecturas ARM, especifique opcionalmente una variante en formato de sistema operativo,arquitectura o variante (por ejemplo,--platform Linux/arm64/v8):

SO Architecture
Linux AMD64
Arm
Arm64
386
Windows AMD64