From 2e4b7a93cec12d0e04f9f8805ae4749fa7fddb78 Mon Sep 17 00:00:00 2001 From: Marcel Kapfer Date: Sun, 17 Mar 2024 22:59:12 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=91=B7=20Add=20continuous=20deliverly=20u?= =?UTF-8?q?sing=20Forgejo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .forgejo/workflows/deploy.yml | 37 +++++++++++++++++++++++++++++++++++ deploy.sh | 16 +++++++++++++++ 2 files changed, 53 insertions(+) create mode 100644 .forgejo/workflows/deploy.yml create mode 100755 deploy.sh diff --git a/.forgejo/workflows/deploy.yml b/.forgejo/workflows/deploy.yml new file mode 100644 index 0000000..0256531 --- /dev/null +++ b/.forgejo/workflows/deploy.yml @@ -0,0 +1,37 @@ +name: Deploy + +on: + push: + branches: + - kirby + +jobs: + deploy: + runs-on: docker + container: + image: alpine:3.19 + steps: + - name: Install packages + run: apk add --no-cache openssh + + - name: Add SSH key + run: | + mkdir ~/.ssh + chmod 700 ~/.ssh + echo "$SSH_PRIVATE_KEY" | tr -d '\r' > ~/.ssh/id_ed25519 + chmod 600 ~/.ssh/id_ed25519 + echo "$SSH_KNOWN_HOSTS" | tr -d '\r' >> ~/.ssh/known_hosts + chmod 644 ~/.ssh/known_hosts + env: + SSH_PRIVATE_KEY: ${{secrets.SSH_PRIVATE_KEY}} + SSH_KNOWN_HOSTS: ${{secrets.SSH_KNOWN_HOSTS}} + + - name: Run deploy script on server + run: | + ssh -p "$SSH_PORT" "$SSH_USER"@"$SSH_HOST" \ + "cd /var/www/marcel-kapfer.de && ./deploy.sh $BRANCH" + env: + SSH_USER: ${{secrets.SSH_USER}} + SSH_HOST: ${{secrets.SSH_HOST}} + SSH_PORT: ${{secrets.SSH_PORT}} + BRANCH: ${{vars.BRANCH}} diff --git a/deploy.sh b/deploy.sh new file mode 100755 index 0000000..e68a3bd --- /dev/null +++ b/deploy.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +set -euo pipefail + +INFO="\033[0;30m\033[47m" +NC="\033[0m" + +log() { + echo -e "${INFO} INFO ${NC} $1" +} + +log "Pulling latest changes from Git repository..." +git pull origin "$1" + +log "Installing new composer dependencies and update autoloader..." +composer install --no-interaction --prefer-dist --optimize-autoloader