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
Другие вопросы по тегам