Herramientas de usuario

Herramientas del sitio


ada:howto:sicoferp:factory:new-migracion-sicoferp:front:versionado

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
ada:howto:sicoferp:factory:new-migracion-sicoferp:front:versionado [2024/06/27 12:28]
192.168.177.98
ada:howto:sicoferp:factory:new-migracion-sicoferp:front:versionado [2025/01/29 20:56] (actual)
192.168.175.129
Línea 1: Línea 1:
 ====== Versionado ====== ====== Versionado ======
  
 +===== 1. Preparación =====
  
-**1) Preparación**+Crear directorio ​**hooks** en la raíz del proyecto y dentro crear un archivo llamado **pre-push** con el siguiente contenido:
  
-Es necesario que el hook loca tengan permiso en la raíz del proyecto  +<​code>​ 
-  ​* ​chmod +x /hooks/​pre-push+ 
 +#!/bin/sh 
 + 
 +# Leer datos de entrada estándar proporcionados por Git 
 +while read local_ref local_sha remote_ref remote_sha 
 +do 
 +    # Verificar si se está realizando un push de tags 
 +    if [[ "​$remote_ref"​ == refs/tags/* ]]; then 
 +        echo "​Ejecución de 'git push --tags'​ detectada. No se ejecutará el script."​ 
 +        exit 0 
 +    fi 
 +done 
 + 
 +echo "​Ejecutando npm run release antes de realizar el commit..."​ 
 + 
 +# Ejecutar npm run release con --no-verify para evitar bucles 
 +npm run release -- --no-verify 
 + 
 +# Capturar el código de salida de npm run release 
 +npm_run_release_status=$?​ 
 + 
 +# Verificar el código de salida de npm run release 
 +if [ $npm_run_release_status -ne 0 ]; then 
 +    echo "​Error:​ Fallo al ejecutar npm run release. Abortando script."​ 
 +    exit 1 
 +fi 
 + 
 +# Obtener la nueva versión del package.json después de ejecutar npm run release  
 +new_version=$(grep '"​version"'​ package.json | sed -E '​s/​.*"​([0-9]+\.[0-9]+\.[0-9]+)"​.*/​\1/'​) 
 +echo "Nueva versión extraída de package.json:​ v$new_version"​ 
 + 
 +# Crear un tag con la nueva versión  
 +git tag -a "​v$new_version"​ -m "​Release version $new_version"​ 
 +echo "Se agrega tag al despliegue v$new_version. Para enviar tags ejecute: 'git push --tags'"​ 
 + 
 +# Añadir los archivos modificados por npm run release al staging area 
 +git add package.json package-lock.json CHANGELOG.md 
 + 
 +# Continuar con el commit 
 +git commit -m "fix: Descripción de los cambios realizados"​ 
 +echo "​Commit:​ Nueva versión package.json y cambios en CHANGELOG.md"​ 
 + 
 +# Verificar si estamos ejecutando el script desde un push convencional 
 +# Si es un push convencional,​ no ejecutar git push --tags para evitar el bucle 
 +if [[ "​$1"​ != "​--tags"​ ]]; then 
 +    git push --tags -f 
 +fi 
 + 
 +exit 0 
 + 
 +</​code>​ 
 + 
 +Es necesario que el hook local tengan permiso en la raíz del proyecto  
 + 
 +<​code>​ 
 +chmod +x hooks/​pre-push 
 +</​code>​
  
 Es necesario que git apunte al directorio hocks que está en la raíz del proyecto (Por defecto lo hace .git/hocks) Es necesario que git apunte al directorio hocks que está en la raíz del proyecto (Por defecto lo hace .git/hocks)
-  *  git config core.hooksPath hooks 
  
 +<​code>​
 +git config core.hooksPath hooks
 +</​code>​
  
-**2) Paso a paso**+===== 2. Agregar libreria ===== 
 + 
 +<​code>​ 
 +npm install standard-version 
 +</​code>​ 
 + 
 + 
 +===== 3. Archivo Changelog ===== 
 + 
 +En la raíz crear un archivo vacío llamado CHANGELOG 
 + 
 +<​code>​ 
 +CHANGELOG.md 
 +</​code>​ 
 + 
 +===== 3. Ejecutar versionado =====
  
 Una vez el Front esté preparado para Versionado, debe agregar todos los cambios por enviar y se debe ejecutar los siguientes comandos; Una vez el Front esté preparado para Versionado, debe agregar todos los cambios por enviar y se debe ejecutar los siguientes comandos;
  
 +<​code>​
   * git add .    * git add . 
   * git commit -m 'fix: cambios realizados'​   * git commit -m 'fix: cambios realizados'​
   * git push   * git push
- +</​code>​
-Esto genera una nueva versión en el package.json con tag para Git, Docker.+
  
  
-**Importante**+**Nota:** Esto genera una nueva versión en el package.json con tag para Git, Docker.
  
-Para los siguientes casos se debe utilizar **git push --no-verify**+**IMPORTANTE:​** Si se requiere hacer un push tradicional sin que le afecte el hook y por ende no genere versionado ​se debe utilizar ​la siguiente bandera ​**--no-verify**:
  
-  * Si están trabajando en su hotfix local y necesita subir un commit sin generar el versionado final+<​code>​ 
 +git push --no-verify 
 +</​code>​
  
-  * Si se requiere hacer un push tradicional ​sin que le afecte ​el hook y por ende no genere ​versionado ​se debe utilizar ​la siguiente bandera git push --no-verify+  * Si están trabajando en su hotfix local y necesita subir un commit ​sin generar ​el versionado ​final. 
 +  * También aplica para posibles problemas con la receta hook . 
 +  * Si no ha preparado el proyecto local para el hook como se indicó anteriormente.
  
-  * También aplica para posibles problemas con la receta hook +[[ada:​howto:​sicoferp:​factory:​new-migracion-sicoferp:​front|←Regresar]]
  
-  * si no ha preparado el proyecto local para el hook como se indicó anteriormente. 
  
ada/howto/sicoferp/factory/new-migracion-sicoferp/front/versionado.1719491285.txt.gz · Última modificación: 2024/06/27 12:28 por 192.168.177.98