62 lines
1.9 KiB
Python
62 lines
1.9 KiB
Python
"""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")
|