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/08/01 16:59]
192.168.175.41
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+
  
-Nota: Si falla+#!/bin/sh
  
-  * chmod +x hooks/pre-push+# 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 
  
-**2Agregar libreria ​** +<​code>​ 
- +git config core.hooksPath hooks 
 +</​code>​ 
 + 
 +===== 2Agregar libreria ​===== 
 + 
 +<​code>​
 npm install standard-version npm install standard-version
 +</​code>​
  
-**3Ejecutar versionado**+ 
 +===== 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. 
  
 +**Nota:** Esto genera una nueva versión en el package.json con tag para Git, Docker.
  
-**Importante**+**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**:​
  
-Para los siguientes casos se debe utilizar **git push --no-verify**+<​code>​ 
 +git push --no-verify 
 +</​code>​
  
   * Si están trabajando en su hotfix local y necesita subir un commit sin generar el versionado final.   * Si están trabajando en su hotfix local y necesita subir un commit sin generar el versionado final.
- 
-  * 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 
- 
   * También aplica para posibles problemas con la receta hook .   * También aplica para posibles problemas con la receta hook .
- 
   * Si no ha preparado el proyecto local para el hook como se indicó anteriormente.   * Si no ha preparado el proyecto local para el hook como se indicó anteriormente.
 +
 +[[ada:​howto:​sicoferp:​factory:​new-migracion-sicoferp:​front|←Regresar]]
 +
  
ada/howto/sicoferp/factory/new-migracion-sicoferp/front/versionado.1722531549.txt.gz · Última modificación: 2024/08/01 16:59 por 192.168.175.41