1 changed files with 71 additions and 0 deletions
@ -0,0 +1,71 @@ |
|||
from __future__ import with_statement |
|||
from fabric.api import * |
|||
from fabric.contrib.console import confirm |
|||
from fabric.contrib.project import rsync_project |
|||
import fabric.operations as op |
|||
|
|||
env.hosts = ["wes@mgoal.ca:444"] |
|||
|
|||
@task |
|||
def makeBuild(): |
|||
local("rm -fr ./build") |
|||
local("mkdir -p build/{scripts,styles,templates}") |
|||
|
|||
@task |
|||
def buildTags(): |
|||
local("riot ./src/scripts/ ./build/scripts/tags.js") |
|||
|
|||
@task |
|||
def uglify(): |
|||
local("uglifyjs ./build/scripts/*js > ./build/scripts/search.min.js") |
|||
|
|||
@task |
|||
def sass(): |
|||
local("sassc ./src/styles/*scss > ./build/styles/search.min.css") |
|||
|
|||
@task |
|||
def copy(): |
|||
local("cp -r ./src/scripts/*.js ./build/scripts/") |
|||
local("cp -r ./src/styles/*.css ./build/styles/") |
|||
local("cp -r ./src/templates/*html ./build/templates/") |
|||
local("cp -r ./src/{archive.py,openlibrary.py,search.py,website.py,textbookExceptions.py} ./build/") |
|||
local("cp {search.ini,search.service,requirements.txt} ./build/") |
|||
|
|||
@task |
|||
def upload(): |
|||
run("mkdir -p ~/tbookbuild") |
|||
rsync_project(local_dir="./build/", remote_dir="~/tbookbuild/", delete=False, exclude=[".git"]) |
|||
|
|||
@task |
|||
def serveUp(): |
|||
sudo("rm -fr /srv/http/build") |
|||
sudo("cp -r /home/wes/tbookbuild /srv/http/build") |
|||
sudo("cp /home/wes/tbookbuild/search.service /etc/systemd/system/search.service") |
|||
sudo("systemctl daemon-reload") |
|||
sudo("systemctl enable search.service") |
|||
sudo("systemctl restart search.service") |
|||
|
|||
@task |
|||
def buildVenv(): |
|||
with cd("~/tbookbuild"): |
|||
run("virtualenv -p $(which python3) ~/tbookbuild/venv") |
|||
with prefix("source ~/tbookbuild/venv/bin/activate"): |
|||
run("pip3 install -r requirements.txt") |
|||
|
|||
@task |
|||
def buildLocalVenv(): |
|||
with lcd("~/TextbookEngine/build"): |
|||
local("virtualenv -p $(which python3) ~/TextbookEngine/build/venv") |
|||
with prefix("source ~/TextbookEngine/build/venv/bin/activate"): |
|||
local("pip3 install -r requirements.txt") |
|||
|
|||
@task(default=True) |
|||
def build(): |
|||
makeBuild() |
|||
buildTags() |
|||
uglify() |
|||
sass() |
|||
copy() |
|||
upload() |
|||
buildVenv() |
|||
serveUp() |
Loading…
Reference in new issue