2016-02-22 16:03:57 +01:00
#!/bin/bash
2016-02-19 12:58:06 +01:00
set -e
2016-02-22 15:01:00 +01:00
if ( [ " $TRAVIS_BRANCH " = "master" ] || [ ! -z " $TRAVIS_TAG " ] ) && [ " $TRAVIS_PULL_REQUEST " = "false" ] ; then
2016-04-05 20:47:23 +02:00
echo "Deploying..."
2016-02-22 15:01:00 +01:00
else
echo "Skipping deploy"
exit 0
fi
2016-04-05 20:47:38 +02:00
# load ssh key
2016-04-05 20:47:23 +02:00
echo "Loading key..."
2016-04-06 15:28:25 +02:00
openssl aes-256-cbc -d -k " $pass " -in .travis/traefik.id_rsa.enc -out ~/.ssh/traefik.id_rsa
2016-04-05 20:47:23 +02:00
eval " $( ssh-agent -s) "
chmod 600 ~/.ssh/traefik.id_rsa
ssh-add ~/.ssh/traefik.id_rsa
# download github release
echo "Downloading ghr..."
2016-04-05 20:47:38 +02:00
curl -LOs https://github.com/tcnksm/ghr/releases/download/pre-release/linux_amd64.zip
2016-02-19 12:58:06 +01:00
unzip -q linux_amd64.zip
2016-02-22 15:35:51 +01:00
sudo mv ghr /usr/bin/ghr
2016-02-19 12:58:06 +01:00
sudo chmod +x /usr/bin/ghr
2016-02-24 15:41:25 +01:00
# github release and tag
2016-04-05 20:47:23 +02:00
echo "Github release..."
2016-02-24 16:43:39 +01:00
ghr -t $GITHUB_TOKEN -u containous -r traefik --prerelease ${ VERSION } dist/
2016-02-24 15:41:25 +01:00
2016-04-04 22:33:01 +02:00
# update docs.traefik.io
2016-04-05 20:47:23 +02:00
echo "Generating and updating documentation..."
2016-04-04 22:33:01 +02:00
mkdocs gh-deploy --clean
2016-02-24 15:41:25 +01:00
# update traefik-library-image repo (official Docker image)
2016-04-05 20:47:23 +02:00
echo "Updating traefik-library-imag repo..."
2016-02-24 15:41:25 +01:00
git config --global user.email "emile@vauge.com"
git config --global user.name "Emile Vauge"
2016-04-04 22:33:01 +02:00
git clone git@github.com:containous/traefik-library-image.git
2016-02-24 15:41:25 +01:00
cd traefik-library-image
./update.sh $VERSION
git add -A
echo $VERSION | git commit --file -
echo $VERSION | git tag -a $VERSION --file -
2016-04-04 22:33:01 +02:00
git push -q --follow-tags -u origin master
2016-02-24 16:43:39 +01:00
# create docker image emilevauge/traefik (compatibility)
2016-04-05 20:47:23 +02:00
echo "Updating docker emilevauge/traefik image..."
2016-02-24 16:43:39 +01:00
docker login -e $DOCKER_EMAIL -u $DOCKER_USER -p $DOCKER_PASS
2016-03-08 13:16:58 +01:00
docker tag containous/traefik emilevauge/traefik:latest
2016-02-27 13:04:33 +01:00
docker push emilevauge/traefik:latest
docker tag emilevauge/traefik:latest emilevauge/traefik:${ VERSION }
2016-03-31 18:57:08 +02:00
docker push emilevauge/traefik:${ VERSION }
2016-02-24 16:43:39 +01:00
2016-02-24 15:41:25 +01:00
cd ..
rm -Rf traefik-library-image/
echo "Deployed"