Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa | ||
ada:howto:sicoferp:factory:new-migracion-sicoferp:repository [2024/04/17 13:51] 192.168.177.32 [Definición de Roles y Responsabilidades] |
ada:howto:sicoferp:factory:new-migracion-sicoferp:repository [2024/08/08 20:46] (actual) 192.168.177.58 |
||
---|---|---|---|
Línea 58: | Línea 58: | ||
* **Desarrolladores**: Trabajan en características y correcciones de errores, creando ramas de develop y fusionándolas de nuevo después de su finalización. Deben seguir los estándares de codificación y garantizar la calidad de su código. Este rol es asignado a los desarrolladores que realizarán la migración. | * **Desarrolladores**: Trabajan en características y correcciones de errores, creando ramas de develop y fusionándolas de nuevo después de su finalización. Deben seguir los estándares de codificación y garantizar la calidad de su código. Este rol es asignado a los desarrolladores que realizarán la migración. | ||
* **Testers**: Prueban los cambios de código en las ramas feature y release antes de fusionarlos en develop o master. Deben identificar y reportar cualquier error o problema encontrado durante las pruebas. Este rol es asumido por el equipo de QA. | * **Testers**: Prueban los cambios de código en las ramas feature y release antes de fusionarlos en develop o master. Deben identificar y reportar cualquier error o problema encontrado durante las pruebas. Este rol es asumido por el equipo de QA. | ||
+ | |||
+ | ===== Procesos ===== | ||
+ | El flujo de trabajo Gitflow implica procesos específicos para gestionar los cambios de código: | ||
+ | |||
+ | ==== Consideraciones previas ==== | ||
+ | * Antes de iniciar el flujo la rama develop debe estar sincornizada con la rama master. | ||
+ | * Todo nombre de repositorio debe estar escrito en minusculas y solo se permitirá el caracter '-' para separar nombres. | ||
+ | |||
+ | ==== Creación de una Rama Feature: ==== | ||
+ | * a. Un desarrollador crea una nueva rama desde develop utilizando un nombre descriptivo, como feature/nueva-característica. | ||
+ | * b. El trabajo en la característica se realiza en esta rama. Los desarrolladores deben seguir los estándares de codificación y realizar pruebas unitarias de su código a medida que trabajan. | ||
+ | |||
+ | ==== Finalización de una Rama Feature: ==== | ||
+ | * a. Una vez que la característica está completa, el desarrollador ejecuta pruebas para asegurarse de que funciona como se espera. Esto incluye tanto pruebas unitarias como pruebas de integración. | ||
+ | * b. Envía los cambios al repositorio remoto. | ||
+ | * c. Crea una solicitud de extracción para fusionar la rama feature en develop. La solicitud de extracción debe incluir una descripción clara de los cambios realizados y cualquier documentación o resultado de prueba relevante. | ||
+ | |||
+ | ==== Revisión y Fusión de una Rama Feature: ==== | ||
+ | * a. Otros desarrolladores revisan la solicitud de extracción, asegurando la calidad del código y el cumplimiento de los estándares. Deben dejar comentarios y sugerencias según sea necesario. | ||
+ | * b. Si no se encuentran problemas, la solicitud de extracción se fusiona en develop. | ||
+ | * c. La rama feature se elimina una vez fusionada. | ||
+ | |||
+ | ==== Creación de una Rama Release: ==== | ||
+ | * a. Una vez que un conjunto de características está listo para su lanzamiento, se crea una rama release desde develop. Esta rama debe etiquetarse con un número de versión, como v1.0.0. | ||
+ | * b. La rama release se actualiza con cualquier cambio o corrección de errores adicional que sea necesario para la versión. | ||
+ | |||
+ | ==== Prueba y Finalización del Release: ==== | ||
+ | * a. La rama release se prueba a fondo para garantizar la estabilidad y la funcionalidad del release. Esto incluye pruebas manuales, pruebas automatizadas y pruebas de rendimiento. | ||
+ | * b. Se realizan las correcciones de errores necesarias y se fusionan en la rama release. | ||
+ | * | ||
+ | ==== Fusión de la Rama Release: ==== | ||
+ | * a. Una vez finalizado el release, se fusiona en master. Esto solo debe hacerse después de que se complete toda la prueba | ||
Línea 76: | Línea 108: | ||
# | # | ||
# For more information, see: https://docs.gitlab.com/ee/ci/yaml/index.html#stages | # For more information, see: https://docs.gitlab.com/ee/ci/yaml/index.html#stages | ||
+ | image: maven:3.9.6-amazoncorretto-21 # Ajustar la etiqueta de la imagen si es necesario | ||
+ | variables: | ||
+ | MAVEN_CONFIG: 'settings.xml' | ||
stages: # List of stages for jobs, and their order of execution | stages: # List of stages for jobs, and their order of execution | ||
- build | - build | ||
Línea 85: | Línea 119: | ||
stage: build | stage: build | ||
script: | script: | ||
- | - echo "Compiling the code..." | + | - echo "Compiling the code..." |
+ | - mvn clean package -Dsettings.security=none # Ajustar el comando para Gradle | ||
- echo "Compile complete." | - echo "Compile complete." | ||
unit-test-job: # This job runs in the test stage. | unit-test-job: # This job runs in the test stage. | ||
- | stage: test # It only starts when the job in the build stage completes successfully. | + | stage: test # Etapa opcional para pruebas unitarias |
script: | script: | ||
- | - echo "Running unit tests... This will take about 60 seconds." | + | - echo "Running unit tests..." |
- | - sleep 60 | + | - mvn test |
- | - echo "Code coverage is 90%" | + | - echo "Test Complete" |
- | + | ||
- | lint-test-job: # This job also runs in the test stage. | + | |
- | stage: test # It can run at the same time as unit-test-job (in parallel). | + | |
- | script: | + | |
- | - echo "Linting code... This will take about 10 seconds." | + | |
- | - sleep 10 | + | |
- | - echo "No lint issues found." | + | |
deploy-job: # This job runs in the deploy stage. | deploy-job: # This job runs in the deploy stage. | ||
- | stage: deploy # It only runs when *both* jobs in the test stage complete successfully. | + | stage: deploy # Etapa opcional para implementación (reemplazar con su estrategia de implementación) |
script: | script: | ||
- echo "Deploying application..." | - echo "Deploying application..." | ||
+ | - scp target/*.jar gestion@10.1.140.21:/opt/ada/deploy/cicd # Reemplazar con sus detalles de implementación | ||
- echo "Application successfully deployed." | - echo "Application successfully deployed." | ||
</code> | </code> | ||
+ | |||
+ | [[ada:howto:sicoferp:factory:new-migracion-sicoferp:front:flujogit|Flujo Git]] | ||
Línea 115: | Línea 146: | ||
- | [[ada:howto:sicoferp:factory|←Volver atrás]] | + | [[ada:howto:sicoferp:factory:new-migracion-sicoferp|←Volver atrás]] |