Published on InterSystems Developer Community (https://community.intersystems.com)

Inicio > Cómo publicar automáticamente las imágenes Docker de tu solución InterSystems IRIS en el registro de Github

Artículo
Eduardo Anglada · 23 mar, 2022 Lectura de 2 min
Open Exchange

Cómo publicar automáticamente las imágenes Docker de tu solución InterSystems IRIS en el registro de Github

¡Hola desarrolladores!

A veces necesitamos publicar la imagen Docker de la solución InterSystems IRIS en la que estamos trabajando. Existen diferentes posibilidades, por ejemplo:

  1. Usar la imagen en un cluster de Kubernetes.
  2. Que un compañero  ejecute la imagen desde un repositorio público sin tener que generarla.

La mejor solución es subir la imagen al Registro Hub de Docker o al Registro de Github.

En este breve artículo, propongo una forma de hacerlo automáticamente cada vez que subas (usando git push) cambios a tu repositorio GitHub.

Simplemente añade el siguiente fichero a la carpeta .github/workflows de tu repositorio:

 
Spoiler
 

 

name: Build and publish a Docker image to ghcr.io

on:



# publish on pushes to the main branch (image tagged as "latest")

# image name: will be: ghcr.io/${{ github.repository }}:latest

# e.g.: ghcr.io/intersystems-community/intersystems-iris-dev-template:latest

push:

branches:

- master



jobs:

docker_publish:

runs-on: "ubuntu-20.04"



steps:

- uses: actions/checkout@v2



# https://github.com/marketplace/actions/push-to-ghcr

- name: Build and publish a Docker image for ${{ github.repository }}

uses: macbre/push-to-ghcr@master

with:

image_name: ${{ github.repository }}

github_token: ${{ secrets.GITHUB_TOKEN }}

# optionally push to the Docker Hub (docker.io)

# docker_io_token: ${{ secrets.DOCKER_IO_ACCESS_TOKEN }} # see https://hub.docker.com/settings/security
 

 

 

Podemos usar cualquier nombre de archivo. Mira el ejemplo en iris-dev-template.

Cada vez que subas cambios al repositorio, Github ejecutará este workflow para crear y publicar la imagen en el registro de imágenes de Github.

Cualquiera puede puede obtener y ejecutar la imagen publicada, por ejemplo, como este iris-dev-template:

# docker run --rm --name my-iris -d --publish 9091:1972 --publish 9092:52773 ghcr.io/intersystems-community/intersystems-iris-dev-template:latest

El fichero puede funcionar en cualquier repositorio sin ningún cambio. Las imágenes tendrán diferentes URLS:  ghcr.io/repositorio/imagen:latest

Tomé la idea de este enfoque a partir de la documentación de GitHub 

¡Espero que os resulte útil!

#Consejos y trucos #Despliegue #Docker #InterSystems IRIS
Ir a la aplicación en InterSystems Open Exchange

URL de fuente:https://es.community.intersystems.com/post/c%C3%B3mo-publicar-autom%C3%A1ticamente-las-im%C3%A1genes-docker-de-tu-soluci%C3%B3n-intersystems-iris-en-el