From 8a90e5a206b160b6cb76f551075b34c354f00253 Mon Sep 17 00:00:00 2001 From: Sam Tate Date: Wed, 28 Aug 2024 00:14:20 +0100 Subject: [PATCH] added auto deployment --- .forgejo/workflows/astro-deploy.yaml | 46 ++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 .forgejo/workflows/astro-deploy.yaml diff --git a/.forgejo/workflows/astro-deploy.yaml b/.forgejo/workflows/astro-deploy.yaml new file mode 100644 index 0000000..0f3c8d5 --- /dev/null +++ b/.forgejo/workflows/astro-deploy.yaml @@ -0,0 +1,46 @@ +name: Astro Deploy Pipeline +run-name: Builds the Astro site and Deploys via SSH to the Server +on: + push: + branches: + - master + +permissions: + contents: read + pages: write + id-token: write + +jobs: + Build-and-Deploy: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + lfs: true + fetch-depth: 0 # Fetch all history for .GitInfo and .Lastmod + + - name: Checkout LFS objects + run: git lfs checkout + + - name: Setup Node + uses: actions/setup-node@v4 + with: + node-version: 18 + + - name: Setup Rsync + uses: GuillaumeFalourd/setup-rsync@v1.2 + + - name: Build site + run: npm run build + + - name: Install SSH Key + uses: shimataro/ssh-key-action@v2 + with: + key: ${{ secrets.SSH_PRIVATE_KEY }} + known_hosts: 'placeholder' # to make it work + + - name: Adding Known Hosts + run: ssh-keyscan -H ${{ secrets.REMOTE_HOST }} >> ~/.ssh/known_hosts + + - name: Deploy with rsync + run: rsync -avz --delete ./dist/ ${{ secrets.REMOTE_USER }}@${{ secrets.REMOTE_HOST }}:${{ secrets.REMOTE_TARGET }} \ No newline at end of file