Last active
August 29, 2015 14:13
-
-
Save jaxzin/54018149f0923e6c0f4d to your computer and use it in GitHub Desktop.
Snap-CI pipeline config for autodeploying danbury.io pull requests
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Deploy Stage | |
sudo yum install --assumeyes jq | |
heroku apps:destroy \ | |
--app danburyio-pr$SNAP_PULL_REQUEST_NUMBER \ | |
--confirm danburyio-pr$SNAP_PULL_REQUEST_NUMBER || true | |
heroku create danburyio-pr$SNAP_PULL_REQUEST_NUMBER \ | |
--buildpack https://github.com/heroku/heroku-buildpack-nodejs.git | |
heroku addons:add mongolab:sandbox | |
heroku domains:add $SNAP_PULL_REQUEST_NUMBER.pr.danbury.io | |
curl -H "X-DNSimple-Token: $DNSIMPLE_USER:$DNSIMPLE_TOKEN" \ | |
-H 'Accept: application/json' \ | |
-H 'Content-Type: application/json' \ | |
-X POST \ | |
-d "{\"record\":{\"name\":\"$SNAP_PULL_REQUEST_NUMBER.pr\",\"record_type\":\"CNAME\",\"content\":\"danburyio-pr$SNAP_PULL_REQUEST_NUMBER.herokuapp.com\",\"ttl\":600}}" \ | |
--fail \ | |
https://api.dnsimple.com/v1/domains/danbury.io/records > dns_record.json || \ | |
curl -H "X-DNSimple-Token: $DNSIMPLE_USER:$DNSIMPLE_TOKEN" \ | |
-H 'Accept: application/json' \ | |
--fail \ | |
https://api.dnsimple.com/v1/domains/danbury.io/records \ | |
| jq ".[] | select(.record.name == \"$SNAP_PULL_REQUEST_NUMBER.pr\")" - | |
heroku config:add MONGOHQ_URL=$(heroku config:get MONGOLAB_URI) \ | |
KNOWN_ADMINS=jaxzin,criana \ | |
GITHUB_CALLBACK_URL=http://$SNAP_PULL_REQUEST_NUMBER.pr.danbury.io/auth/callback \ | |
COOKIE_SECRET=$COOKIE_SECRET \ | |
SERVER_SECRET=$SERVER_SECRET \ | |
GITHUB_CLIENT_ID=$GITHUB_CLIENT_ID \ | |
GITHUB_CLIENT_SECRET=$GITHUB_CLIENT_SECRET | |
git push heroku master | |
# Destroy Stage | |
heroku apps:destroy --app danburyio-pr$SNAP_PULL_REQUEST_NUMBER \ | |
--confirm danburyio-pr$SNAP_PULL_REQUEST_NUMBER | |
sudo yum install --assumeyes jq | |
curl -H "X-DNSimple-Token: $DNSIMPLE_USER:$DNSIMPLE_TOKEN" \ | |
-H 'Accept: application/json' \ | |
--fail \ | |
https://api.dnsimple.com/v1/domains/danbury.io/records \ | |
| jq ".[] | select(.record.name == \"$SNAP_PULL_REQUEST_NUMBER.pr\")" - > dns_record.json | |
curl -H "X-DNSimple-Token: [email protected]:$DNSIMPLE_TOKEN" \ | |
-H 'Accept: application/json' \ | |
-H 'Content-Type: application/json' \ | |
--fail \ | |
-X DELETE \ | |
https://api.dnsimple.com/v1/domains/danbury.io/records/$(jq .record.id dns_record.json) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment