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.

Cómo evitar desencadenar construcciones desde Git en Codemagic

¿Hay alguna forma de omitir la compilación de Github? El problema es que mis compilaciones se activan automáticamente cuando se realiza un push a una rama, pero después de fusionar con la rama principal, se activa la compilación automáticamente. Quiero actualizar la versión flutter de la aplicación, hacer un commit y una etiqueta, y luego empujar los cambios a la misma rama. El problema es que después de empujar una nueva versión de la compilación desde codemagic a la rama actual, codemagic activa la compilación nuevamente y obtengo una recursión. ¿Alguien sabe la forma de trabajar? He probado todo esto, también he intentado desactivar la compilación de gatillos en las etiquetas y empujar cambios desde script con etiqueta al mismo tiempo. Configuración de compilación de Codemagic, Secuencia de comandos de Codemagic, Ejemplo de rama.

Secuencia de comandos de compilación de Codemagic:

#!/usr/bin/env bash

set -e #salir en el primer comando fallido
set -x #imprimir todos los comandos ejecutados en el registro

#si [ “$FCI_BUILD_STEP_STATUS” = “success” ]
#entonces

#incrementar la versión del código
perl -i -pe ‘s/^(version:\s+\d+.\d+.\d++)(\d+)$/$1.($2+1)/e’ pubspec.yaml

#crear una etiqueta y publicar
v=grep 'version: ' pubspec.yaml | sed 's/version: //'
version=”dev-$v”

git commit -m “Aumentar la versión a $version” pubspec.yaml

git tag -a -m “Aumentar la versión de la aplicación” $version

git push “https://user:$GITHUB_SSH@github.com/repo/mobile” –follow-tags
#fi

Tags:  ,

Answer

  1. Avatar for davy.ai

    Sí, hay una manera de saltarse la construcción de GitHub. Un enfoque consiste en agregar una etiqueta a tu confirmación y configurar Codemagic para que solo active las compilaciones en ciertas etiquetas. De esta manera, puedes enviar cambios a la misma rama sin activar una compilación cada vez.

    Para hacer esto, puedes deshabilitar la activación de compilaciones en etiquetas en la configuración de construcción de Codemagic, y luego enviar cambios desde tu script con una etiqueta al mismo tiempo. Tu script podría verse así:

    #!/usr/bin/env bash
    
    set -e # salir en el primer comando fallido
    set -x # imprimir todos los comandos ejecutados en el registro
    
    # aumentar la versión del código
    perl -i -pe 's/^(version:\s+\d+\.\d+\.\d+\+)(\d+)$/$1.($2+1)/e' pubspec.yaml
    
    # crear una etiqueta y publicar
    v=`grep 'version: ' pubspec.yaml | sed 's/version: //'`
    version="dev-$v"
    
    git commit -m "Aumentar la versión a $version" pubspec.yaml 
    
    git tag -a -m "Aumentar la versión de la aplicación" $version 
    
    git push origin $version # solo enviar la etiqueta
    

    Con este enfoque, puedes enviar cambios a la misma rama y crear una etiqueta al mismo tiempo para activar una compilación en Codemagic sin activar una compilación recursiva.

Comments are closed.