TravisCI: запуск after_success для определенной ветви
Я хотел бы знать, как запустить after_success
скрипт только для конкретной ветки.
Я использую пользовательский сценарий для развертывания приложения после этапов сборки. Я хотел бы только запустить это, когда на prod
ветка.
До сих пор я пробовал следующее:
#1
after_success:
- # some deployment script
on: prod
#2
branches:
only:
- prod
after_success:
- # some deployment script
#3
after_success:
branches:
only:
- prod
- # some deployment script
Какие-либо предложения?
2 ответа
Решение
Я решил это, написав простой скрипт, используя TRAVIS_BRANCH
переменная окружения и выполняет скрипт в after_success
.travis.yml
after_success:
- ./deploy.sh
deploy.sh
#!/bin/bash
if [ "$TRAVIS_BRANCH" == "prod" ]; then
// do the deploy
fi
Вы также можете сделать это с помощью поставщика сценариев на этапе развертывания вашей сборки. Этот подход немного чище, но допускает только одну команду, в отличие after_success
,
deploy:
provider: script
script: # some deployment script
on:
branch: prod