Add deployment workflow

This commit is contained in:
Tobi Schäfer 2024-06-01 20:48:01 +02:00
parent 4ae840d3c9
commit 14ccdf0691
Signed by: tobi
GPG key ID: 91FAE6FE2EBAC4C8
2 changed files with 26 additions and 52 deletions

26
.github/workflows/deploy.yml vendored Normal file
View file

@ -0,0 +1,26 @@
name: Deploy (Production)
on:
workflow_dispatch: {}
push:
branches:
- helma-🐜
jobs:
deploy:
runs-on: ubuntu-latest
environment:
name: p3k.org
url: https://blog.p3k.org
steps:
- name: Set up SSH agent
uses: antville/helma/.github/actions/ssh@helma-🐜
with:
config: ${{ vars.SSH_CONFIG }}
key: ${{ secrets.SSH_PRIVATE_KEY }}
known-hosts: ${{ vars.SSH_KNOWN_HOSTS }}
- name: Copy files to production server
run: ssh staging-server deploy-helma

View file

@ -1,52 +0,0 @@
#!/bin/sh
# Use this script as forced command of an authorized SSH key:
# command="/home/helma/extras/deploy.sh" ssh-ed25519 AAAAC3NzaC…
case "$SSH_ORIGINAL_COMMAND" in
ping)
echo pong
;;
deploy-helma)
rsync ./ p3k.org:./ \
--archive --compress --delete --verbose \
--filter '+ /bin' \
--filter '+ /extras' \
--filter '+ /launcher.jar' \
--filter '- /lib/ext' \
--filter '+ /lib' \
--filter '+ /modules' \
--filter '- /*'
;;
deploy-antville)
rsync ./apps/antville/ p3k.org:./apps/antville/ \
--archive --compress --delete --verbose \
--filter '+ /claustra' \
--filter '+ /code' \
--filter '+ /compat' \
--filter '+ /i18n' \
--filter '+ /lib' \
--filter '- /*'
rsync ./apps/antville/static/helma/ p3k.org:/var/www/weblogs.at/ \
--archive --compress --verbose \
--filter '+ /fonts' \
--filter '+ /formica.html' \
--filter '+ /img' \
--filter '+ /scripts' \
--filter '+ /styles' \
--filter '- /*'
;;
restart)
printf 'Restarting Helma… '
sudo /bin/systemctl restart helma
printf '%s\n' 'done.'
;;
*)
# Allow any rsync command but restrict it to the installation directory
rrsync -wo /home/helma
;;
esac