"""Deployment with Fabric.""" from fabric import task @task def doesitsparkjoy(c): """Release doesitsparkjoy.voicegardens.org.""" print('Releasing doesitsparkjoy.voicegardens.org ...') with c.cd('/var/www/doesitsparkjoy.voicegardens.org'): c.run('git pull origin master') c.run('sudo supervisorctl restart apps:doesitsparkjoy') c.run('sudo systemctl restart nginx') c.run('sh bin/clear-archives') c.run('sh bin/copy-fixed-archive') 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 master') c.run('sudo supervisorctl restart apps:voicegardens') c.run('sudo systemctl restart nginx') c.run('sh bin/clear-archives') c.run('sh bin/copy-fixed-archive') 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.daily/voicegardens-cron-hourly') print('New hourly cron in place <3') @task def cleanarchives(c): """Remove all archives.""" print('Removing the doesitsparkjoy.voicegardens.org archives ...') with c.cd('/var/www/doesitsparkjoy.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')