TravisCI: Run after_success on a specific branch

Sung Cho picture Sung Cho · Jul 10, 2015 · Viewed 9.1k times · Source

I would like to know how to run an after_success script only for a specific branch.

I am using a custom script to deploy the app after build passes. I would only like to run this when on prod branch.

So far, I have tried the following:

#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

Any suggestions?

Answer

Sung Cho picture Sung Cho · Jul 12, 2015

I solved it by writing a simple script using TRAVIS_BRANCH environment variable and executed the script in after_success

.travis.yml

after_success:
- ./deploy.sh

deploy.sh

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