Compilación y administración de contenedores con tareas
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
, esdocker 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:
- Crear una imagen de aplicación web
- Ejecutar el contenedor de aplicaciones web
- Crear una imagen de prueba de aplicación web
- Ejecutar el contenedor de prueba de aplicaciones web, que realiza pruebas en el contenedor de aplicaciones en ejecución
- Si se superan las pruebas, compilar un paquete de archivo de gráfico de Helm
- 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 |