maren/more-ci-work #4
3 changed files with 51 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
|
|
29
.woodpecker/.woodpecker.yml
Normal file
29
.woodpecker/.woodpecker.yml
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
when:
|
||||||
|
branch:
|
||||||
|
exclude: [ 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:
|
||||||
|
- 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
|
||||||
|
- ./.woodpecker/deploy.sh
|
||||||
|
when:
|
||||||
|
# Only try to deploy if previous step is successful
|
||||||
|
status: success
|
22
.woodpecker/deploy.sh
Executable file
22
.woodpecker/deploy.sh
Executable file
|
@ -0,0 +1,22 @@
|
||||||
|
#!/bin/sh -e
|
||||||
|
|
||||||
|
# hello variables
|
||||||
|
host=deploy@turtle.hup.is
|
||||||
|
|
||||||
|
# organize the files
|
||||||
|
mkdir oxaliq
|
||||||
|
mv dist oxaliq/.
|
||||||
|
mv source oxaliq/.
|
||||||
|
mv static oxaliq/.
|
||||||
|
|
||||||
|
# put them on the 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
|
||||||
|
ssh $host 'sudo chown -R sorreldotdev:sorreldotdev oxaliq/'
|
||||||
|
ssh $host 'sudo chmod -R 755 oxaliq/'
|
||||||
|
ssh $host 'sudo rm -rf /srv/oxaliq || true'
|
||||||
|
ssh $host 'sudo mv oxaliq /srv/.'
|
||||||
|
ssh $host 'sudo systemctl restart sorreldotdev.service'
|
Loading…
Reference in a new issue