Regresión superficial de git fetch en discourse_docker

Tienes razón, en ese momento no conocemos la versión; parece que la imagen base utiliza la versión actual más la rama tests-passed, aunque la rama tendrá el commit correspondiente al momento en que se construyó la imagen.

¿No tendría el método actual reconstrucciones más lentas, incluso cuando se usa la rama tests-passed?

Simplemente considera las siguientes instrucciones:

En la imagen base:

git clone --depth 1 https://github.com/discourse/discourse.git
cd discourse/
git remote set-branches --add origin tests-passed

En web.template.yml

git reset --hard
git clean -f
git remote set-branches --add origin master
git pull
...
Cuando se ejecuta `git pull`, **se descarga todo el repositorio**, lo que puede tardar varios minutos, ya que antes solo se hizo un clonado superficial. Puedes probar ejecutando solo las instrucciones anteriores localmente y verás. No digo que sea mejor tener todo el repositorio en la imagen base, pero el código en `web.template.yml` se ejecutará en cada reconstrucción, incluso si solo se agregó un plugin o se cambió una configuración en `app.yml`. Lo que normalmente hago en mis proyectos (que no son de Discourse) es crear una nueva imagen para cada nueva versión, pero eso puede no ser viable para ti (considerando cómo lo haces actualmente). ¿No has notado algún aumento en el tiempo de reconstrucción? (o quizás no es tan significativo en comparación con el tiempo total de reconstrucción en la mayoría de los casos)

Actualización

Volví a probar los pasos anteriores y fueron rápidos. Supongo que en el primer intento ejecuté otra instrucción que modificó el árbol de git y, al final, intenté descargar todo cuando ejecuté git pull.

2 Me gusta