website/bin/deploy/systemd
Ben Sturmfels 55ee5b53b6
Add a basic script to "push" deploy
Currently updates are published by the "conservancy-www-update.sh" that does a
"pull" deploy with a 5-minutely job that runs on the web server. This doesn't
run `migrate`, `collectstatic` or restart the application, so certain types of
changes don't take effect, and even template changes often don't due to caching
template loader.

This script allows you to deploy more significant updates on-demand, but
requires SSH access.
2024-02-23 15:39:54 +11:00
..
conservancy-www-cleanup.service Add a basic script to "push" deploy 2024-02-23 15:39:54 +11:00
conservancy-www-db.path Add a basic script to "push" deploy 2024-02-23 15:39:54 +11:00
conservancy-www-db.service Add a basic script to "push" deploy 2024-02-23 15:39:54 +11:00
conservancy-www-linkchecker.service Add a basic script to "push" deploy 2024-02-23 15:39:54 +11:00
conservancy-www-linkchecker.timer Add a basic script to "push" deploy 2024-02-23 15:39:54 +11:00
conservancy-www-update.service Add a basic script to "push" deploy 2024-02-23 15:39:54 +11:00
conservancy-www-update.sh Add a basic script to "push" deploy 2024-02-23 15:39:54 +11:00
conservancy-www-update.timer Add a basic script to "push" deploy 2024-02-23 15:39:54 +11:00
README.md Add a basic script to "push" deploy 2024-02-23 15:39:54 +11:00

Systemd services

Installing

Install all Systemd services with:

cp systemd/conservancy-www-*.{service,timer} /etc/systemd/system
systemctl enable conservancy-www-cleanup.service
systemctl start conservancy-www-cleanup.service
systemctl enable conservancy-www-update.timer
systemctl start conservancy-www-update.timer
systemctl enable conservancy-www-db.service
systemctl enable conservancy-www-db.path
systemctl start conservancy-www-db.path

Website updates

Monitor the website update service with:

systemctl list-timers --all
journalctl --catalog --follow --unit conservancy-www-update.service

Updates will fail unless /var/www/website has a git upstream, so set that with:

git remote add upstream https://k.sfconservancy.org/website
git branch --set-upstream-to=upstream/master master

Note that the update script does not run migrate.

Fundraiser/sustainer database updates

The conservancy-www-db.service applies SQL updates to the website database automatically when the file django-supporters-list.sql file is modified. These include the fundraising total and sustainers to be publicly acknowledged.