From c358e5fb856ee475c2585386c48a07710aa7fcd5 Mon Sep 17 00:00:00 2001 From: Beau Findlay Date: Sun, 1 Feb 2026 12:40:04 +0000 Subject: [PATCH] Adds gitea build and deploy config --- .gitea/workflows/deploy.yml | 49 +++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 .gitea/workflows/deploy.yml diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml new file mode 100644 index 0000000..63edfb0 --- /dev/null +++ b/.gitea/workflows/deploy.yml @@ -0,0 +1,49 @@ +name: Build and Deploy + +on: + push: + branches: + - main + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Build image + run: | + docker build -t portfolio:latest . + docker save portfolio:latest | gzip > portfolio.tar.gz + + - name: Deploy to server + uses: appleboy/scp-action@v0.1.7 + with: + host: ${{ secrets.SERVER_HOST }} + username: ${{ secrets.SERVER_USER }} + key: ${{ secrets.SERVER_SSH_KEY }} + source: "portfolio.tar.gz" + target: "/mnt/apps/docker-config/portfolio/" + + - name: Restart container + uses: appleboy/ssh-action@v1.0.3 + with: + host: ${{ secrets.SERVER_HOST }} + username: ${{ secrets.SERVER_USER }} + key: ${{ secrets.SERVER_SSH_KEY }} + script: | + cd /mnt/apps/docker-config/portfolio + sudo sh -c "gunzip -c portfolio.tar.gz | docker load" + sudo docker compose down + sudo docker compose up -d + + - name: Purge Cloudflare cache + run: | + curl -X POST "https://api.cloudflare.com/client/v4/zones/${{ secrets.CLOUDFLARE_ZONE_ID }}/purge_cache" \ + -H "Authorization: Bearer ${{ secrets.CLOUDFLARE_API_TOKEN }}" \ + -H "Content-Type: application/json" \ + --data '{"purge_everything":true}'