Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

201
Vistas
Flujo de trabajo de Docker para compilaciones automatizadas en Github-Dockerhub

Ya configuré un repositorio de github con 3 sucursales (maestro, desarrollador y ventana acoplable). Ya configuré correctamente y vinculé la compilación automatizada en dockerhub. Cada vez que se realiza una inserción en Github, se crea una imagen en Dockerhub con una etiqueta diferente (más reciente para maestro, beta para desarrollador y alfa para docker). Esto está funcionando bien. Ahora el problema...

En Dockerfile, hay un comando git clone para recuperar el proyecto. El problema es que esto apunta al maestro siempre. Entonces, si presiono algo en la rama de la ventana acoplable, por ejemplo (construye una imagen con una etiqueta alfa), el código del proyecto en esa imagen es el código del maestro y no el código de la ventana acoplable de la rama, que es el deseado para este caso.

Si modifico el Dockerfile de branch docker (que genera una imagen etiquetada alfa) y pongo git clone -b docker ... la compilación está bien, pero después de todas las pruebas, cuando quiero fusionarme con una solicitud de extracción de docker branch a rama de desarrollo, por ejemplo, se necesita otra actualización en desarrollo para cambiar el comando git clone dentro de Dockerfile para que apunte a la rama correcta. Y lo mismo con una solicitud de extracción de desarrollador a maestro con la dificultad adicional de que en este proyecto la rama maestra está protegida y no puedo enviar directamente a maestro... así que después de una solicitud de extracción de desarrollador a maestro no puedo arreglar Dockerfile cambiando el Dockerfile para cambiar el git clone para que apunte nuevamente al maestro.

¿Hay alguna manera de tener diferentes sucursales con diferentes etiquetas en la construcción automatizada sin cambiar nada después de las solicitudes de extracción de una a otra sucursal? Gracias.

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Cuando se usan compilaciones automatizadas, esto es lo que sucede;

  • Docker Hub (o Docker Cloud, que tiene algunas funciones más avanzadas) verifica la confirmación de git que activó la compilación
  • Construye el Dockerfile que configuró para construir en su compilación automatizada

De lo anterior; no debe git clone dentro de su Dockerfile en absoluto , porque estaría haciendo lo que ya ha hecho la compilación automatizada. Simplemente hazlo;

 FROM some-base-image # Copy your project's source into the image COPY . /my-src RUN do-something-with-the-source

Docker Cloud tiene funciones avanzadas que le permiten ejecutar scripts personalizados en varias etapas de la compilación automatizada, utilizando enlaces de fase de compilación (documentación) . Esto le permite (por ejemplo) crear imágenes "mínimas" construyendo su proyecto en una "imagen de compilación", luego copiando el código generado en un directorio local y construyendo la imagen final a partir de eso.

editar

Las opciones de compilación automática en Docker Cloud tienen más funciones que la compilación automática en Docker Hub. Por ejemplo, el Dockerfile para compilar y el contexto de compilación se pueden configurar por separado. Esto le permite tener un Dockerfile en un subdirectorio, pero usar archivos fuera de ese subdirectorio para usarlos como contexto de compilación. Para hacer esto, establezca la ubicación de Dockerfile en (p. ej.) /docker/Dockerfile y el contexto de compilación en /

ingrese la descripción de la imagen aquí

about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda