with tutorial travis started pricing premise how getting travis-ci

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.