Flujo de trabajo al desarrollar
En el proyecto están implementadas funcionalidades que facilitan el desarrollo. Estas promueven la colaboración, el control de versiones, la integración continua y el despliegue continuo, pero requieren que los desarrolladores sigan un flujo de trabajo específico y realicen ciertas tareas de manera rutinaria.
La herramienta principal para ejecutar estas tareas de forma sencilla es just, que se indica como prerrequisito en el capítulo Uso de la introducción de la documentación.
A continuación se describe el flujo de trabajo recomendado para trabajar en el proyecto de manera efectiva:
-
Es recomendable que de manera periódica (e.g., al iniciar su jornada de trabajo, o al finalizarla), ejecute la instrucción:
- También puede usar la versión abreviada:
just u.
Esta se encargará de actualizar su repositorio Git local con los últimos cambios del repositorio remoto.
- También puede usar la versión abreviada:
-
Antes de iniciar cualquier desarrollo nuevo, debe crear una nueva rama (branch) a partir de la rama
devomain, usando la instrucción (se recomienda consultar la sección Lineamientos contribución para obtener más información y detalles sobre la estructura de las ramas (branches)):- También puede usar la versión abreviada:
just b <nombre-nueva-rama> <nombre-rama-original>.
Por ejemplo, para crear una nueva rama llamada
feature/nueva-funcionalidada partir de la ramadev, debe ejecutar:just create-branch "feature/nueva-funcionalidad" "dev". - También puede usar la versión abreviada:
-
En la nueva rama (branch), empiece a realizar ajustes o adiciones en el código y/o los datos. Recuerde que si desea versionar los datos, la recomendación es seguir las instrucciones indicadas en la página Data version control.
-
En la medida en que vaya produciendo, o modificando archivos, (e.g., código, cuadernos, datos, documentación, etc.), debe ir haciendo el respectivo versionamiento. Para esto, además de agregar los archivos nuevos o modificados al área de preparación (staging area), bien sea usando la interfaz de su editor de código, o usando la instrucción:
debe realizar el commit correspondiente con un mensaje descriptivo de los cambios realizados, usando la instrucción:
- También puede usar la versión abreviada:
just c.
que le permitirá escribir el mensaje de commit en la terminal, siguiendo las convenciones establecidas para estos mensajes.
¡Tip!
Si necesita escribir varias líneas (renglones) en alguna de las respuestas que le solicita la terminal al ejecutar
just commit-code, debe escribir el carácter|(i.e. pipe) y seguir escribiendo luego de este. NO useEntero alguna combinación con esta tecla porque lo llevará a la siguiente pregunta. - También puede usar la versión abreviada:
-
Una vez haya realizado los commits correspondientes, y desee sincronizarlos con el repositorio remoto, debe ejecutar la siguiente instrucción:
- También puede usar la versión abreviada:
just p.
Esta se encargará de hacer el push de los cambios al repositorio remoto, y de actualizar su rama (branch) local con los últimos cambios del repositorio remoto.
- También puede usar la versión abreviada:
-
Cuando desee integrar los cambios realizados a la rama
mainodev, y esto vaya a representar una nueva versión del proyecto, debe, primero, seguir las reglas para sincronizar estas ramas (por lo general deben requerir un pull request). Posteriormente, estando en una de estas ramas (branches), debe actualizar la versión y propagar este cambio al repositorio remoto. Para esto, una vez haya realizado todos los commits que integrarán la nueva versión, los haya fusionado con la ramamainodevy esté en esta última, debe ejecutar la siguiente instrucción:- También puede usar la versión abreviada:
just bump.
Esta instrucción se encargará de actualizar la versión en los archivos correspondientes, hacer el commit de estos cambios, crear la etiqueta (tag) correspondiente en Git, y hacer el push de estos cambios y la etiqueta al repositorio remoto.
¡Atención!
Para que Commitizen pueda actualizar la versión correctamente, es necesario que los mensajes de los commits sigan las convenciones establecidas. Por lo tanto, es importante que siempre use la instrucción
just commit-codepara hacer los commits y siga las indicaciones que están descritas en Lineamientos contribución, en la sección de los mensajes de los commits.Además, debe asegurarse que todos los archivos
.py(incluyendo los cuadernos - notebooks) que contengan la versión del proyecto (i.e.__version__ = "x.x.x"), estén incluidos en la listaversion_filesde la herramienta Commitizen (i.e.[tool.commitizen]) que se encuentra en la parte final del archivopyproject.toml. - También puede usar la versión abreviada:
El archivo justfile contiene más instrucciones que pueden ser útiles durante el desarrollo. Puede ver la lista completa de instrucciones disponibles ejecutando: