Stack Overflow en español Asked on December 7, 2021
Tengo un proyecto en Django que ha crecido bastante y está en Git. En concreto, hay una parte del proyecto, un adaptador, que requiere releases constantes, mientras que el resto del código es bastante estable.
Realizar releases cada vez de todo el repositorio implica diferentes cosas que son un poco tediosas: si bien lo tengo automatizado, implica reiniciar servicios y diferentes temas.
Por ello, me estoy planteando separar el adaptador en un nuevo repositorio. Mirando opciones, veo que tanto puedo empaquetar el adaptador e importarlo como otro módulo o bien utilizar un submódulo. Tras comparar opciones, estoy bastante decidido a utilizar la segunda opción, la de submódulos.
Entonces ahora me encontraría en esta situación: repositorio A con el submódulo B. Cuando hago una release del submódulo B, me encuentro con que debo ir al repositorio A y hacer git submodule update --recursive --remote
para que se actualice el contenido… y luego hacer todo el reinicio de servicios, etc. Es decir, lo que quería evitar.
¿Existe alguna opción de que un módulo utilice automáticamente la última versión de un submódulo o de un repositorio distinto? O, efectivamente, ¿siempre habrá que ir actualizando desde el módulo? ¿Existe alguna otra opción para esta situación?
Si bien es cierto que un microservicio podría solucionar el problema, ya que se reinicia el microservicio y el server no necesita ser reiniciado, no sé qué implica para tu código y qué tanto debas modificar.
Otra opción es que puedes recargar un modulo despues de haber sido importado usando la función reload
de la librería importlib
implementada en python 3.4
from importlib import reload
import submodule
submodule = reload(submodule)
Solo deberías ejecutar la línea submodule = reload(submodule)
en el momento que necesites recargar tu modulo.
Tomando en cuenta que es Django el servidor de Django se actualiza cada vez que algo cambia, así que no sé si aplique para este caso.
Answered by Jhoubert Rincon on December 7, 2021
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP