En este ejemplo vamos a subir una imagen docker al repositorio de dockerhub con Azure Devops.
Este manual/tutorial es la continuación de Cómo conectar un pipeline de Azure DevOps Pipelines con DockerHub y Creando una imagen docker de una aplicación en react si no los has leído por favor hazlo para que te des una idea de dónde nos quedamos.
Ya que hemos creado nuestro archivo Dockerfile y .dockerignore podemos continuar. Básicamente lo que haremos aquí es:
1. Vamos a poner en nuestro pipeline la creación de una imagen docker de una aplicación en react.
2. Luego vamos a subir nuestra imagen en nuestro repositorio de dockerhub.
Estas dos tareas las haremos en un solo paso (task en este caso).
Tomamos nuestro archivo yaml del pipeline creado anteriormente y le agregamos la tarea de buildAndPush.
pr:
branches:
include:
- "*"
pool:
vmImage: ubuntu-latest
stages:
- stage: LoginAndLogout
jobs:
- job: buildandpush
steps:
- task: Docker@2
displayName: Login
inputs:
command: login
containerRegistry: docker-hub-test
- task: Docker@2
displayName: BuildAndPush
inputs:
command: buildAndPush
containerRegistry: docker-hub-test
repository: ahioros/rdicidr
tags: latest
- task: Docker@2
displayName: Logout
inputs:
command: logout
containerRegistry: docker-hub-test
Nota : En este ejemplo todas las imágenes que subamos tendrán el tag latest , esto lo podemos cambiar si deseamos usando el $(Build.BuildId) como tag:
tags: |
$(Build.BuildId)
latest
Ejecutamos nuestro pipeline con los cambios al finalizar el pipeline vamos a nuestro repositorio dockerhub donde veremos la nueva imagen.
Acá te dejo el video de esta configuración por si tienes dudas: