diff options
author | 2018-04-29 20:03:50 +0200 | |
---|---|---|
committer | 2018-04-29 20:03:50 +0200 | |
commit | f57942f2575dc26c9487688ded773a0abdab5c61 (patch) | |
tree | d39039c85b361c199c7dd77e4d02fb1a14082054 /scripts | |
parent | [Wiki] Dumb CSS typo (diff) |
pipenv and dockerfile (#62)
pipenv and dockerfile
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/deploy.py | 20 | ||||
-rw-r--r-- | scripts/deploy.sh | 18 | ||||
-rw-r--r-- | scripts/vagrant_bootstrap.sh | 87 |
3 files changed, 125 insertions, 0 deletions
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 <<EOF +runuser=root +rungroup=root +bind=0.0.0.0 +driver-port=28016 +http-port=28010 +EOF + +service rethinkdb restart + +# development environment variables +tee /root/.bashrc <<EOF +HISTCONTROL=ignoreboth +shopt -s histappend +HISTSIZE=1000 +HISTFILESIZE=2000 +shopt -s checkwinsize + +if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then + debian_chroot=$(cat /etc/debian_chroot) +fi + +case "$TERM" in + xterm-color|*-256color) color_prompt=yes;; +esac + +PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ' + +test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)" +alias ls='ls --color=auto' +alias grep='grep --color=auto' +alias fgrep='fgrep --color=auto' +alias egrep='egrep --color=auto' +alias ll='ls -alF --color=auto' +alias la='ls -A --color=auto' +alias l='ls -CF --color=auto' + +export LOG_LEVEL=DEBUG +export SERVER_NAME="pysite.local" +export WEBPAGE_PORT="80" +export WEBPAGE_SECRET_KEY="123456789abcdefghijklmn" +export RETHINKDB_HOST="127.0.0.1" +export RETHINKDB_PORT="28016" +export RETHINKDB_DATABASE="database" +export RETHINKDB_TABLE="table" +export BOT_API_KEY="abcdefghijklmnopqrstuvwxyz" +export TEMPLATES_AUTO_RELOAD="yes" +export PREFERRED_URL_SCHEME="http" +alias python=python3.6 +EOF + + +curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - +add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" +apt-get update +apt-get install -y docker-ce + +curl -L https://github.com/docker/compose/releases/download/1.20.0-rc1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose +chmod +x /usr/local/bin/docker-compose + + +echo 'docs: https://github.com/discord-python/site/wiki/Development-Environment-(Vagrant)' |