From 7922f2c617bf64f2cd834e1801c7af3a31b92b51 Mon Sep 17 00:00:00 2001 From: Firq Date: Fri, 17 Mar 2023 12:53:01 +0100 Subject: [PATCH] Reworked the .gitlab-ci.yml completely Now using rsync and a ssh_config file for connecting, cleaning up everything Next time use a feature branch so the commits can be squashed easier! small fix 2 test small fix 3 apk fix rsync ssh fix script fix script fix 2 script fix 3 script fix 4 stackoverflow fix explicit ssh key maybe this fix? aaa maybe this debug debug 2 debug 3 now? order is important people persm ??? spaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaace one last change? home tilde bad now?! know what to change final different file structure test, progress minifying output --- .gitlab-ci.yml | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index cfad0aa..0e70cd6 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -22,28 +22,34 @@ build-site: expire_in: 1 day deploy-site: - image: node:lts stage: deploy only: - main before_script: - - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' + - 'which rsync || ( apk update && apk add rsync )' + - 'which ssh-agent || ( apk update && apk add openssh-client)' - eval $(ssh-agent -s) - - echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - > /dev/null - mkdir -p ~/.ssh - chmod 700 ~/.ssh + - echo "$SSH_PRIVATE_KEY" | tr -d '\r' >> ~/.ssh/key_firq + - chmod 600 ~/.ssh/key_firq + - echo "Host $DEPLOY_HOST" >> ~/.ssh/config + - echo $'\n\tIdentityFile ~/.ssh/key_firq' >> ~/.ssh/config + - echo $'\n\tStrictHostKeyChecking no\n\tIdentitiesOnly yes\n' >> ~/.ssh/config + - chmod 644 ~/.ssh/config - echo "$SSH_KNOWN_HOSTS" > ~/.ssh/known_hosts - chmod 644 ~/.ssh/known_hosts + - echo "SSH setup completed" script: - echo "Getting artifacts" - ls public - echo "Stopping screen session and cleaning" - - ssh $DEPLOY_USER@$DEPLOY_HOST -o StrictHostKeyChecking=no IdentitiesOnly=yes "screen -X -S website-firq-npx kill; rm -r -f public/*;" + - ssh $DEPLOY_USER@$DEPLOY_HOST "screen -X -S website-firq-npx kill; rm -r -f public/*;" - echo "Copying to proxmox machine" - - rsync -e "ssh -o StrictHostKeyChecking=no IdentitiesOnly=yes" -a --progress public/ $DEPLOY_USER@$DEPLOY_HOST:~/public + - rsync -az --stats public $DEPLOY_USER@$DEPLOY_HOST:~/. - echo "Restarting screen session" - - ssh $DEPLOY_USER@$DEPLOY_HOST -o StrictHostKeyChecking=no IdentitiesOnly=yes "screen -S website-firq-npx -dm npx serve public/ -p 9000 -c serve.json" + - ssh $DEPLOY_USER@$DEPLOY_HOST "screen -S website-firq-npx -dm npx serve public/ -p 9000 -c serve.json" - echo "Website is up on https://firq.dev/" success_notification: