Reputation: 6349
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?
Upvotes: 24
Views: 9841
Reputation: 642
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
Upvotes: 18
Reputation: 6349
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
Upvotes: 32