Подтвердить что ты не робот

TravisCI: Запустите after_success на определенной ветке

Я хотел бы знать, как запустить after_success script только для определенной ветки.

Я использую пользовательский script для развертывания приложения после проходов сборки. Я бы просто хотел запустить это, когда на ветке 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

Любые предложения?

4b9b3361

Ответ 1

Я решил это, написав простой script, используя переменную среды TRAVIS_BRANCH и выполнил script в after_success

.travis.yml

after_success:
- ./deploy.sh

deploy.sh

#!/bin/bash
if [ "$TRAVIS_BRANCH" == "prod" ]; then
  // do the deploy
fi

Ответ 2

Вы также можете сделать это, используя script поставщик на этапе развертывания вашей сборки. Этот подход немного чист, но позволяет только одну команду, в отличие от after_success.

deploy:
  provider: script
  script: # some deployment script
  on:
    branch: prod