El lanzador reconstruye la app y obtiene la última versión de discourse de GitHub

Hola,

Ya tengo Discourse instalado y funcionando. Cada vez que reconstruyo la aplicación, extrae el repositorio del lanzador, la imagen Docker de base de Discourse y el repositorio de Discourse.

Quiero limitar este comportamiento para que la reconstrucción no verifique las actualizaciones y las extraiga automáticamente a menos que se pase un parámetro específico.

¿Alguien ha hecho algo similar?

¿Te preocupa la estabilidad de la versión?

¿Por qué no cambias a la rama estable?

Estoy usando la versión estable, 3.2.0.

La intención es extraer solo del repositorio de GitHub o Docker Hub cuando queramos, no cada vez que reconstruimos el contenedor.

¿Estás usando una instalación estándar?

Si es así, ¿por qué no ejecutas el comando de reconstrucción?

Para tu información, las actualizaciones a la versión estable pueden ser importantes: suelen contener correcciones de vulnerabilidades o errores significativos.

Sí, estoy usando el enfoque independiente estándar. Entiendo la necesidad de mantener la aplicación actualizada. Mi idea es agregar una bandera al lanzador cuando quiera actualizar el repositorio.

Si quieres reiniciar el contenedor sin reconstruirlo, simplemente haz:

./launcher restart app

¿por qué necesitas reconstruir sin actualizar? ¿cuál es tu objetivo?

Las actualizaciones estables es poco probable que introduzcan cambios que rompan la compatibilidad.

1 me gusta

El propósito de stable es la falta de cambios. ¿Por qué estás reconstruyendo en absoluto?

La razón por la que extrae el contenedor es para mantenerlo en paridad con los requisitos del código de discourse.

Si desea hacer algo como ingresar al contenedor sin hacer un pull, puede

 docker exec -it app bash

Y si quisiera agregar un plugin sin reconstruir, podría ingresar al directorio del plugin y clonarlo y luego migrar la base de datos, pero aún necesita asegurarse de que está obteniendo el commit correcto del plugin para strangle) stable.

2 Me gusta

En caso de añadir o eliminar un plugin, ./launcher restart app no actualizará la instancia.

1 me gusta

Dado que las versiones estables son relativamente raras, no presentan cambios drásticos con mucha frecuencia y, por lo general, vienen con importantes actualizaciones de seguridad cuando hay una actualización, no entiendo tu requisito.

En mi opinión, añadir un plugin es una buena excusa para actualizar y asegurarte de que has aplicado todas las actualizaciones disponibles.

No actualizar en estable, en mi humilde opinión, es una mala práctica, ya que puede exponerte a vulnerabilidades conocidas durante más tiempo.

1 me gusta

Hice los siguientes cambios en el lanzador

echo "    --pull-git                 Pull the latest git repository"
  echo "    --pull-image               Pull the latest Docker image"

pull_git=false
pull_image=false
rebuild)
      if [ "$(git symbolic-ref --short HEAD)" = "master" ] && [ "$pull_git" = true ]; then
        git branch -m master main
        git fetch origin
        git branch -u origin/main main
        git remote set-head origin -a
      fi
....

Con esto, puedo evitar actualizar cada vez que hago la reconstrucción. Permite que el plugin se instale.

Cuando tengas problemas con esos plugins, asegúrate de mencionarlo cuando inicies un nuevo tema.

No, no lo hace, al menos no correctamente.

Podría funcionar con plugins solo de API, pero cualquier javascript de nuevos plugins necesita ser compilado, lo cual sucede en el proceso de compilación.

Por lo tanto, para agregar un nuevo plugin, debes realizar una recompilación en la mayoría de los casos.

El otro problema que tienes es que cambiar los scripts de compilación principales puede meterte en serios problemas si no tienes cuidado, especialmente si hay un cambio lo suficientemente significativo en los scripts principales.

1 me gusta