From bfe8a60b9f07409174e2155f5e8384ceedf24f2d Mon Sep 17 00:00:00 2001 From: "Gu://em_" Date: Fri, 30 May 2025 12:43:40 +0200 Subject: [PATCH] Deployment automation (CI) --- .forgejo/workflows/demo.yaml | 6 ----- .forgejo/workflows/deploy.yaml | 40 ++++++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+), 6 deletions(-) delete mode 100644 .forgejo/workflows/demo.yaml create mode 100644 .forgejo/workflows/deploy.yaml diff --git a/.forgejo/workflows/demo.yaml b/.forgejo/workflows/demo.yaml deleted file mode 100644 index 21280bd..0000000 --- a/.forgejo/workflows/demo.yaml +++ /dev/null @@ -1,6 +0,0 @@ -on: [push] -jobs: - test: - runs-on: docker - steps: - - run: echo All Good \ No newline at end of file diff --git a/.forgejo/workflows/deploy.yaml b/.forgejo/workflows/deploy.yaml new file mode 100644 index 0000000..54d2ad8 --- /dev/null +++ b/.forgejo/workflows/deploy.yaml @@ -0,0 +1,40 @@ +name: push +on: + push: + branches: + - main + pull_request: + workflow_dispatch: + +jobs: + build: + runs-on: docker # ? check what it really means + steps: + - name: Checkout git repository + uses: actions/checkout@v4 + + - name: Astro build + uses: withastro/action@v4 + + deploy: + needs: build + runs-on: docker + steps: + - name: Get current date + id: date + run: echo "::set-output name=date::$(date +'%Y%m%d%H%M%S')" + - name: Setup SSH + run: | + mkdir -p ~/.ssh + chmod 0700 ~/.ssh + echo "${{ secrets.SSHPRIVKEY }}" > ~/.ssh/id_ed25519 + chmod 0600 ~/.ssh/id_ed25519 + echo "${{ vars.WEBSERVER_IP }} ${{ secrets.SSHPUBKEY }}" >> ~/.ssh/known_hosts + chmod 0600 ~/.ssh/known_hosts + - name: Push + run: | + scp -P ${{ secrets.SSHPORT }} -r dist ${{ secrets.SSH_USERNAME }}@${{ vars.WEBSERVER_IP }}:~/oblog-parallels/build-${{ steps.date.outputs.date }} + - name: Update symlink + run: | + ssh ${{ secrets.SSH_USERNAME }}@${{ vars.WEBSERVER_IP }} -p ${{ secrets.SSHPORT }} "cp -r ~/oblog-parallels/build-${{ steps.date.outputs.date }} ~/oblog-parallels/dist" +