travis-ci - tutorial - travis ci vs jenkins
¿Travis: `script diferente para cada rama? (1)
Travis-CI siempre crea compilaciones basadas en el .travis.yml
en la rama que está empujando. Como solución, podría mantener diferentes archivos .travis.yml
en las diferentes sucursales.
Si se fusiona regularmente entre las ramas, esto podría llevar a cambios involuntarios entre las ramas (si .travis.yml
los cambios del .travis.yml
de una rama a la otra). Si esto es una preocupación, su solución es probablemente más segura.
Para asegurarse de que solo se construyan ramas específicas (por ejemplo, develop
y master
), puede whitelist la whitelist las ramas en su .travis.yml
.
travis.yml
embargo, al utilizar su solución existente, podría simplificar su script travis.yml
. Probablemente tenga sentido mover la lógica para seleccionar el destino de implementación correcto en su ci/deploy.rb
comandos ci/deploy.rb
(o incluso agregar una secuencia de comandos de envoltura separada a la que llama desde .travis.yml
). De esa manera, solo tiene una línea de script
en su .travis.yml
que ni siquiera necesita cambiar si cambia los objetivos de implementación.
Alternativamente, para asegurarte de no tener pruebas fallidas con tu estructura existente, incluso puedes usar algo como esto:
script:
- if [ "$TRAVIS_BRANCH" = "develop" ]; then ./ci/deploy.rb envdev.tld; fi
- if [ "$TRAVIS_BRANCH" = "master" ]; then ./ci/deploy.rb envprod.tld; fi
Me gustaría configurar la implementación basada en sucursales utilizando Travis-CI y Github.
Es decir, si hicimos compilación desde el develop
, luego exec /deploy.rb
con DEV env hostname, si es master
, luego ./deploy.rb
con PROD hostname y así sucesivamente.
Sólo encontré una idea: comprobar la variable $TRAVIS_BRANC
y luego ejecutar el script, como:
language: php
install:
- true
script:
- test $TRAVIS_BRANCH = "develop" && ./ci/deploy.rb envdev.tld
- test $TRAVIS_BRANCH = "master" && ./ci/deploy.rb envprod.tld
Pero esta solución parece un poco rara para mí. ¿Alguna otra posibilidad de realizar eso?
Cualquier consejos / enlaces apreciados.