maren/more-ci-work #4
3 changed files with 64 additions and 35 deletions
|
@ -1,35 +0,0 @@
|
|||
when:
|
||||
branch:
|
||||
include: [ main ]
|
||||
|
||||
steps:
|
||||
|
||||
build:
|
||||
image: debian:bookworm-slim
|
||||
commands:
|
||||
- apt update
|
||||
# - rm -rf data/
|
||||
# - rm -rf in-progress
|
||||
- apt -yq install racket ca-certificates
|
||||
- yes Y | raco pkg install --no-docs csv-reading
|
||||
- raco exe sorrel.dev.rkt
|
||||
- raco distribute dist sorrel.dev
|
||||
|
||||
deploy:
|
||||
image: alpine:latest
|
||||
secrets: [ deploy_ssh_key ]
|
||||
commands:
|
||||
- apk add openssh
|
||||
- mkdir ~/.ssh
|
||||
- printf '%s\n' "$${DEPLOY_SSH_KEY}" > ~/.ssh/deploy_ssh_key
|
||||
- printf "Host turtle.hup.is\n\tIdentityFile ~/.ssh/deploy_ssh_key\n\tUserKnownHostsFile=/dev/null\n\tStrictHostKeyChecking=no\n" > ~/.ssh/config
|
||||
- chmod -R u=rwX,go= ~/.ssh
|
||||
- mkdir oxaliq
|
||||
- mv dist oxaliq/.
|
||||
- mv source oxaliq/.
|
||||
- mv static oxaliq/.
|
||||
- scp -r oxaliq deploy@turtle.hup.is:~/
|
||||
- ssh deploy@turtle.hup.is 'sudo rm -rf /srv/oxaliq || true && sudo mv oxaliq /srv/. && sudo systemctl restart sorreldotdev.service'
|
||||
when:
|
||||
# Only try to deploy if previous step is successful
|
||||
status: success
|
32
.woodpecker/build-and-deploy.yml
Normal file
32
.woodpecker/build-and-deploy.yml
Normal file
|
@ -0,0 +1,32 @@
|
|||
when:
|
||||
branch:
|
||||
include: [ main ]
|
||||
|
||||
steps:
|
||||
|
||||
build:
|
||||
image: debian:bookworm-slim
|
||||
commands:
|
||||
- apt update
|
||||
- apt -yq install racket ca-certificates
|
||||
- yes Y | raco pkg install --no-docs csv-reading
|
||||
- raco exe sorrel.dev.rkt
|
||||
- raco distribute dist sorrel.dev
|
||||
|
||||
deploy:
|
||||
image: alpine:latest
|
||||
secrets:
|
||||
- deploy_ssh_key
|
||||
commands:
|
||||
- echo "SETTING UP SSH"
|
||||
- apk add openssh-client
|
||||
- mkdir -p $HOME/.ssh
|
||||
- ssh-keyscan -t ed25519 turtle.hup.is >> $HOME/.ssh/known_hosts
|
||||
- echo "$DEPLOY_SSH_KEY" > $HOME/.ssh/id_ed25519
|
||||
- chmod 0600 $HOME/.ssh/id_ed25519
|
||||
- echo "SSH SETUP DONE"
|
||||
- echo "RUNNING DEPLOY SCRIPT"
|
||||
- ./.woodpecker/deploy.sh
|
||||
when:
|
||||
# Only try to deploy if previous step is successful
|
||||
status: success
|
32
.woodpecker/deploy.sh
Executable file
32
.woodpecker/deploy.sh
Executable file
|
@ -0,0 +1,32 @@
|
|||
#!/bin/sh -e
|
||||
|
||||
# hello variables
|
||||
host=deploy@turtle.hup.is
|
||||
|
||||
# organize the files
|
||||
echo "ORGANIZING THE FILES NICELY"
|
||||
mkdir oxaliq
|
||||
mv dist oxaliq/.
|
||||
mv source oxaliq/.
|
||||
mv static oxaliq/.
|
||||
|
||||
# put them on the deployment target
|
||||
echo "COPYING FILES TO DEPLOYMENT TARGET"
|
||||
scp -r oxaliq "$host":~/
|
||||
|
||||
# do everything on the server that's necessary to run the new thing
|
||||
# TODO make this not remove the old-working version until
|
||||
# the new version is confirmed working
|
||||
echo "SETTING OWNERSHIP AND PERMISSIONS"
|
||||
ssh $host 'sudo chown -R sorreldotdev:sorreldotdev oxaliq/'
|
||||
ssh $host 'sudo chmod -R 755 oxaliq/'
|
||||
|
||||
echo "REPLACING PREVIOUS DEPLOYMENT"
|
||||
ssh $host 'sudo rm -rf /srv/oxaliq || true'
|
||||
ssh $host 'sudo mv oxaliq /srv/.'
|
||||
|
||||
echo "RESTARTING SERVICE"
|
||||
ssh $host 'sudo systemctl restart sorreldotdev.service'
|
||||
|
||||
echo "SUCCESS!"
|
||||
exit 0
|
Loading…
Reference in a new issue