From e703c27d4bac9eb59d1648a9d2706963d77109f5 Mon Sep 17 00:00:00 2001 From: maren Date: Mon, 8 Jan 2024 09:27:22 -0500 Subject: [PATCH 1/7] do ci better hopefully --- .woodpecker.yml | 35 ----------------------------------- .woodpecker/.woodpecker.yml | 29 +++++++++++++++++++++++++++++ .woodpecker/deploy.sh | 22 ++++++++++++++++++++++ 3 files changed, 51 insertions(+), 35 deletions(-) delete mode 100644 .woodpecker.yml create mode 100644 .woodpecker/.woodpecker.yml create mode 100755 .woodpecker/deploy.sh diff --git a/.woodpecker.yml b/.woodpecker.yml deleted file mode 100644 index 7c2df29..0000000 --- a/.woodpecker.yml +++ /dev/null @@ -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 diff --git a/.woodpecker/.woodpecker.yml b/.woodpecker/.woodpecker.yml new file mode 100644 index 0000000..6204084 --- /dev/null +++ b/.woodpecker/.woodpecker.yml @@ -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 diff --git a/.woodpecker/deploy.sh b/.woodpecker/deploy.sh new file mode 100755 index 0000000..33220f5 --- /dev/null +++ b/.woodpecker/deploy.sh @@ -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' -- 2.45.2 From 554c10b6f645d7fe3d2a560350db5647071fc9e4 Mon Sep 17 00:00:00 2001 From: maren Date: Mon, 8 Jan 2024 09:31:22 -0500 Subject: [PATCH 2/7] fix scp --- .woodpecker/deploy.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.woodpecker/deploy.sh b/.woodpecker/deploy.sh index 33220f5..26b9e88 100755 --- a/.woodpecker/deploy.sh +++ b/.woodpecker/deploy.sh @@ -10,7 +10,7 @@ mv source oxaliq/. mv static oxaliq/. # put them on the deployment target -scp -r oxaliq $host +scp -r oxaliq $host:$HOME/ # do everything on the server that's necessary to run the new thing # TODO make this not remove the old-working version until -- 2.45.2 From 6ce4bf46bd89d72343f045adc937ba957dd2ee90 Mon Sep 17 00:00:00 2001 From: maren Date: Mon, 8 Jan 2024 09:35:59 -0500 Subject: [PATCH 3/7] variable expansion hard --- .woodpecker/deploy.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.woodpecker/deploy.sh b/.woodpecker/deploy.sh index 26b9e88..d5a60fc 100755 --- a/.woodpecker/deploy.sh +++ b/.woodpecker/deploy.sh @@ -10,7 +10,7 @@ mv source oxaliq/. mv static oxaliq/. # put them on the deployment target -scp -r oxaliq $host:$HOME/ +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 -- 2.45.2 From ac32443f1c7fe91b561021b0ea5e029f0065b2a4 Mon Sep 17 00:00:00 2001 From: maren Date: Mon, 8 Jan 2024 09:48:18 -0500 Subject: [PATCH 4/7] move ssh setup to script we want to see the output of the deploy steps in the UI doesn't happen if it's a scipt not sure this will work --- .woodpecker/{.woodpecker.yml => build-and-deploy.yml} | 6 +----- .woodpecker/ssh.sh | 7 +++++++ 2 files changed, 8 insertions(+), 5 deletions(-) rename .woodpecker/{.woodpecker.yml => build-and-deploy.yml} (68%) create mode 100755 .woodpecker/ssh.sh diff --git a/.woodpecker/.woodpecker.yml b/.woodpecker/build-and-deploy.yml similarity index 68% rename from .woodpecker/.woodpecker.yml rename to .woodpecker/build-and-deploy.yml index 6204084..015e94a 100644 --- a/.woodpecker/.woodpecker.yml +++ b/.woodpecker/build-and-deploy.yml @@ -18,11 +18,7 @@ steps: 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/ssh.sh - ./.woodpecker/deploy.sh when: # Only try to deploy if previous step is successful diff --git a/.woodpecker/ssh.sh b/.woodpecker/ssh.sh new file mode 100755 index 0000000..64eb97c --- /dev/null +++ b/.woodpecker/ssh.sh @@ -0,0 +1,7 @@ +#!/bin/sh -e + +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 -- 2.45.2 From 534864fd10be8d663f0d7a3c58f385a63f7219c1 Mon Sep 17 00:00:00 2001 From: maren Date: Mon, 8 Jan 2024 09:52:40 -0500 Subject: [PATCH 5/7] lazygit --- .woodpecker/deploy.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/.woodpecker/deploy.sh b/.woodpecker/deploy.sh index d5a60fc..3a4d7ca 100755 --- a/.woodpecker/deploy.sh +++ b/.woodpecker/deploy.sh @@ -15,6 +15,7 @@ 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 'echo "does this ls show up in UI?" && ls -la' ssh $host 'sudo chown -R sorreldotdev:sorreldotdev oxaliq/' ssh $host 'sudo chmod -R 755 oxaliq/' ssh $host 'sudo rm -rf /srv/oxaliq || true' -- 2.45.2 From 9b958a1fc98bffe9f9e28254b923f60526c3d197 Mon Sep 17 00:00:00 2001 From: maren Date: Mon, 8 Jan 2024 10:00:14 -0500 Subject: [PATCH 6/7] tell us what's happening in the woodpecker UI --- .woodpecker/build-and-deploy.yml | 9 ++++++++- .woodpecker/deploy.sh | 11 ++++++++++- .woodpecker/ssh.sh | 7 ------- 3 files changed, 18 insertions(+), 9 deletions(-) delete mode 100755 .woodpecker/ssh.sh diff --git a/.woodpecker/build-and-deploy.yml b/.woodpecker/build-and-deploy.yml index 015e94a..07e8888 100644 --- a/.woodpecker/build-and-deploy.yml +++ b/.woodpecker/build-and-deploy.yml @@ -18,7 +18,14 @@ steps: secrets: - deploy_ssh_key commands: - - ./.woodpecker/ssh.sh + - 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 diff --git a/.woodpecker/deploy.sh b/.woodpecker/deploy.sh index 3a4d7ca..89bd312 100755 --- a/.woodpecker/deploy.sh +++ b/.woodpecker/deploy.sh @@ -4,20 +4,29 @@ 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 -ssh $host 'echo "does this ls show up in UI?" && ls -la' +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 diff --git a/.woodpecker/ssh.sh b/.woodpecker/ssh.sh deleted file mode 100755 index 64eb97c..0000000 --- a/.woodpecker/ssh.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh -e - -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 -- 2.45.2 From cdddc1c9521a7122eda47abc191d69967c338be5 Mon Sep 17 00:00:00 2001 From: maren Date: Mon, 8 Jan 2024 10:05:04 -0500 Subject: [PATCH 7/7] better ci done --- .woodpecker/build-and-deploy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.woodpecker/build-and-deploy.yml b/.woodpecker/build-and-deploy.yml index 07e8888..1fddf73 100644 --- a/.woodpecker/build-and-deploy.yml +++ b/.woodpecker/build-and-deploy.yml @@ -1,6 +1,6 @@ when: branch: - exclude: [ main ] + include: [ main ] steps: -- 2.45.2