Compilación e inserción de imágenes de Docker en Azure Container Registry mediante plantillas de Docker
Azure DevOps Services
En este tutorial paso a paso, aprenderá a configurar una canalización de integración continua para compilar una aplicación contenedorizada. Las nuevas solicitudes de incorporación de cambios desencadenan la canalización para compilar y publicar imágenes de Docker en Azure Container Registry.
Requisitos previos
Una cuenta de GitHub. Si aún no tiene una, cree una cuenta de GitHub gratuita.
Una organización y un proyecto de Azure DevOps. Si aún no tiene uno, cree una nueva organización o un nuevo proyecto.
Una cuenta de Azure. Si aún no tiene una, regístrese para obtener una gratuita.
Obtención del código
Bifurque o clone la aplicación de ejemplo pipeline-javascript-docker:
https://github.com/MicrosoftDocs/pipelines-javascript-docker
Creación de un registro de contenedor
Inicie sesión en Azure y, luego, seleccione el botón Azure Cloud Shell en la esquina superior derecha.
Ejecute los siguientes comandos para crear un grupo de recursos y una instancia de Azure Container Registry mediante la CLI de Azure.
# Create a resource group az group create --name myapp-rg --location eastus # Create a container registry az acr create --resource-group myapp-rg --name mycontainerregistry --sku Basic
Nota:
El nombre de Container Registry debe estar en minúsculas.
También puede usar la interfaz de usuario web de Azure Portal para crear la instancia de Azure Container Registry. Consulte Creación de un registro de contenedor para más información.
Importante
Debe habilitar la cuenta de usuario administrador para poder implementar una imagen de Docker desde una instancia de Azure Container Registry. Consulte Autenticación de Container Registry para más información.
Creación de la canalización
Inicie sesión en su organización de Azure DevOps y vaya a su proyecto.
Seleccione Canalizaciones y, luego, Nueva canalización para crear una nueva canalización.
Seleccione YAML de GitHub y, luego, elija Autorizar Azure Pipelines para proporcionar los permisos adecuados para acceder al repositorio.
Es posible que se le pida que inicie sesión en GitHub. Si es así, escriba las credenciales de GitHub y, luego, elija el repositorio en la lista de repositorios.
En la pestaña Configurar, seleccione la tarea Docker - Compilar e insertar una imagen en Azure Container Registry tarea.
En Suscripción de Azure, seleccione su suscripción y, luego, elija Continuar.
Seleccione Registro de contenedor en el menú desplegable y, luego, rellene el campo Nombre de imagen con el nombre de la imagen de contenedor.
Cuando haya terminado, seleccione Validar y configurar.
A medida que Azure Pipelines cree la canalización, sucederá lo siguiente:
Se creará una conexión de servicio del registro de Docker para permitir que la canalización inserte imágenes en el registro de contenedor.
Genere un archivo azure-pipelines.yml, que define la canalización.
Revise la canalización YAML y, cuando esté listo, seleccione Guardar y ejecutar.
Agregue un mensaje de confirmación y, luego, seleccione Guardar y ejecutar para confirmar los cambios y ejecutar la canalización.
A medida que se ejecute la canalización, seleccione el trabajo de compilación para ver la canalización en acción.
Compilación de la canalización
La canalización que acabamos de crear en la sección anterior se generó a partir del archivo YAML de la plantilla de contenedor de Docker. La fase de compilación usa la tarea de DockerDocker@2
para compilar e insertar la imagen de Docker en el registro de contenedor.
- stage: Build
displayName: Build and push stage
jobs:
- job: Build
displayName: Build job
pool:
vmImage: $(vmImageName)
steps:
- task: Docker@2
displayName: Build and push an image to container registry
inputs:
command: buildAndPush
repository: $(imageRepository)
dockerfile: $(dockerfilePath)
containerRegistry: $(dockerRegistryServiceConnection)
tags: |
$(tag)
Limpieza de recursos
Si no va a seguir usando esta aplicación, puede eliminar los recursos que creó en este tutorial para evitar incurrir en cargos continuos. Ejecute lo siguiente para eliminar el grupo de recursos.
az group delete --name myapp-rg
Artículos relacionados
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de