es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Implementando Hugo en el sitio de ensayo desde la rama de características.

Estaba preguntándome si hay personas que hayan encontrado una solución adecuada para lo siguiente… Tenemos un sitio web estático de Hugo cuyo código se encuentra en un repositorio de git. Cuando hacemos cambios en el sitio web, creamos una solicitud de extracción que dispara una compilación que a su vez implementa el código desde la compilación en un entorno de preparación (una cuenta de almacenamiento de Azure vinculada a un CDN).

Esto funciona bien, pero tiene una limitación importante: la cuenta de preparación siempre refleja solo la solicitud de extracción que se creó más recientemente. Entonces, cuando dos personas están trabajando en cambios, solo se implementa la última solicitud de extracción actualizada en la cuenta de preparación, ya que sobrescribirá los cambios realizados en otras ramas de funcionalidad.

Ahora, por supuesto, esto en sí mismo no necesariamente es algo causado por Hugo, Azure o git. Pero requiere una solución adecuada para este escenario en particular. Una cosa que consideré es implementar en la cuenta de almacenamiento con otro nivel de subcarpetas que incluyan el nombre de la rama de funcionalidad. Pero no estoy seguro de cómo se podría configurar esto en config.toml, donde se especifica el contenedor $web. Tal vez Hugo tenga algún truco para este escenario, pero aún no lo he encontrado. Así que cualquier buena idea al respecto es bienvenida.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Solución para actualizar el entorno de ensayo para varias solicitudes de extracción

    Si varias personas están trabajando en cambios simultáneamente, solo se implementa la última solicitud de extracción en el entorno de ensayo, lo cual sobrescribe los cambios realizados en otras ramas de características. Este problema se puede solucionar implementando el código en la cuenta de almacenamiento con otro nivel de subcarpetas que incluya el nombre de la rama de características.

    Sin embargo, no está claro cómo incluir esto en el archivo config.toml, donde se especifica el contenedor $web. Una posible solución es utilizar variables de entorno para especificar la ruta a la subcarpeta basada en el nombre de la rama de características. Otra solución es utilizar una combinación de git, Azure Pipelines y Azure Blob Storage para automatizar el proceso de implementación del sitio web en la subcarpeta correspondiente basada en el nombre de la rama de características.

    Con git-flow, cada nueva rama de características podría desencadenar una nueva compilación que implemente el sitio web en su propia subcarpeta dentro de la cuenta de almacenamiento. Azure Pipelines se puede utilizar para automatizar el proceso de compilación e implementación, mientras que Azure Blob Storage se puede utilizar para almacenar los archivos del sitio web.

    Al implementar esta solución, cada solicitud de extracción se implementaría en su propia subcarpeta y todos los cambios realizados por varias personas se reflejarían en el entorno de ensayo. Este enfoque es adecuado para el escenario particular descrito anteriormente y puede garantizar que los cambios más recientes sean visibles en el entorno de ensayo sin sobrescribir los cambios realizados en otras ramas de características.

Comments are closed.