Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

TravisCI: Run after_success on a specific branch

Tags:

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?

like image 633
Sung Cho Avatar asked Jul 10 '15 10:07

Sung Cho


2 Answers

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 
like image 166
Sung Cho Avatar answered Dec 17 '22 23:12

Sung Cho


You can also do this by using the script provider in the deploy phase of your build. This approach is a bit cleaner but only allows one command, unlike after_success.

deploy:   provider: script   script: # some deployment script   on:     branch: prod 
like image 37
ProjectFrank Avatar answered Dec 17 '22 23:12

ProjectFrank