An online landscape, built as a tool to explore the many aspects of the human voice. https://voicegardens.org
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

62 lines
1.9 KiB

"""Deployment with Fabric."""
from fabric import task
@task
def offline(c):
"""Release offline.voicegardens.org."""
print("Releasing offline.voicegardens.org ...")
with c.cd("/var/www/offline.voicegardens.org"):
c.run("git pull origin offline")
c.run("sudo supervisorctl restart voicegardens:offline")
c.run("sudo systemctl restart nginx")
print("Released <3")
@task
def voicegardens(c):
"""Release voicegardens.org."""
print("Releasing voicegardens.org ...")
with c.cd("/var/www/voicegardens.org"):
c.run("git pull origin main")
c.run("sudo supervisorctl restart voicegardens:online")
c.run("sudo systemctl restart nginx")
print("Released <3")
@task
def dailycron(c):
"""Copy new daily crontab."""
print("Copy over new daily crontab ...")
# See https://github.com/fabric/fabric/issues/1750
c.put("./bin/voicegardens-cron-daily", remote="./")
c.sudo("mv voicegardens-cron-daily /etc/cron.daily")
c.sudo("chown root:root /etc/cron.daily/voicegardens-cron-daily")
print("New daily cron in place <3")
@task
def hourlycron(c):
"""Copy new hourly crontab."""
print("Copy over new hourly crontab ...")
# See https://github.com/fabric/fabric/issues/1750
c.put("./bin/voicegardens-cron-hourly", remote="./")
c.sudo("mv voicegardens-cron-hourly /etc/cron.hourly")
c.sudo("chown root:root /etc/cron.hourly/voicegardens-cron-hourly")
print("New hourly cron in place <3")
@task
def cleanarchives(c):
"""Remove all archives."""
print("Removing the offline.voicegardens.org archives ...")
with c.cd("/var/www/offline.voicegardens.org"):
c.run("rm -rf ./voicegardens/archive/*")
print("Removing the voicegardens.org archives ...")
with c.cd("/var/www/voicegardens.org"):
c.run("rm -rf ./voicegardens/archive/*")
print("Deleted <3")