From f57942f2575dc26c9487688ded773a0abdab5c61 Mon Sep 17 00:00:00 2001 From: Christopher Baklid Date: Sun, 29 Apr 2018 20:03:50 +0200 Subject: pipenv and dockerfile (#62) pipenv and dockerfile --- scripts/deploy.py | 20 ++++++++++ scripts/deploy.sh | 18 +++++++++ scripts/vagrant_bootstrap.sh | 87 ++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 125 insertions(+) create mode 100644 scripts/deploy.py create mode 100644 scripts/deploy.sh create mode 100644 scripts/vagrant_bootstrap.sh (limited to 'scripts') diff --git a/scripts/deploy.py b/scripts/deploy.py new file mode 100644 index 00000000..20d8edd5 --- /dev/null +++ b/scripts/deploy.py @@ -0,0 +1,20 @@ +import os + +import requests + +branch = os.environ.get("TRAVIS_BRANCH") +url = os.environ.get("AUTODEPLOY_WEBHOOK") +token = os.environ.get("AUTODEPLOY_TOKEN") + +PR = os.environ.get("TRAVIS_PULL_REQUEST") + +print('branch:', branch) +print('is_pr:', PR) + +if branch == 'master' and PR == 'false': + print("deploying..") + result = requests.get(url=url, headers={'token': token}) + print(result.text) + +else: + print("skipping deploy") diff --git a/scripts/deploy.sh b/scripts/deploy.sh new file mode 100644 index 00000000..9bdff580 --- /dev/null +++ b/scripts/deploy.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +# Build and deploy on master branch +if [[ $TRAVIS_BRANCH == 'master' && $TRAVIS_PULL_REQUEST == 'false' ]]; then + echo "Connecting to docker hub" + echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin + + echo "Building image" + docker build -t pythondiscord/site:latest . + + echo "Pushing image" + docker push pythondiscord/site:latest + + echo "Deploying container" + pipenv run python scripts/deploy.py +else + echo "Skipping deploy" +fi diff --git a/scripts/vagrant_bootstrap.sh b/scripts/vagrant_bootstrap.sh new file mode 100644 index 00000000..307107d4 --- /dev/null +++ b/scripts/vagrant_bootstrap.sh @@ -0,0 +1,87 @@ +#!/bin/bash + +# Dependencies +apt-get update +apt-get install -y software-properties-common +apt-get install -y python-software-properties +apt-get install -y curl +apt-get install -y apt-transport-https +add-apt-repository -y ppa:jonathonf/python-3.6 +echo "deb http://download.rethinkdb.com/apt xenial main" | sudo tee /etc/apt/sources.list.d/rethinkdb.list +wget -qO- https://download.rethinkdb.com/apt/pubkey.gpg | sudo apt-key add - +apt-get update + +# Python3.6 +apt-get install -y python3.6 +apt-get install -y python3.6-dev +apt-get install -y build-essential +curl -s https://bootstrap.pypa.io/get-pip.py | python3.6 - +python3.6 -m pip install -r /vagrant/requirements.txt +python3.6 -m pip install -r /vagrant/requirements-ci.txt +python3.6 -m pip install gunicorn + +# RethinkDB +apt-get install -y rethinkdb + +tee /etc/rethinkdb/instances.d/rethinkdb.conf <