47cf983154
Build & Deploy / build-and-deploy (push) Failing after 2m42s
act_runner and Gitea run on the same host (alu/192.168.86.31), so we override DNS in the runner to push directly over LAN. This avoids Cloudflare's upload size limit (413 on 7.79GB image). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
53 lines
1.4 KiB
YAML
53 lines
1.4 KiB
YAML
name: Build & Deploy
|
|
|
|
on:
|
|
push:
|
|
branches: [master]
|
|
|
|
env:
|
|
REGISTRY: gitea.theriise.net
|
|
BACKEND_IMAGE: gitea.theriise.net/steinhelge/timing/backend
|
|
FRONTEND_IMAGE: gitea.theriise.net/steinhelge/timing/frontend
|
|
|
|
jobs:
|
|
build-and-deploy:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Route registry traffic via internal network
|
|
run: echo "192.168.86.31 gitea.theriise.net" | sudo tee -a /etc/hosts
|
|
|
|
- name: Log in to Gitea Container Registry
|
|
uses: docker/login-action@v3
|
|
with:
|
|
registry: ${{ env.REGISTRY }}
|
|
username: ${{ secrets.REGISTRY_USER }}
|
|
password: ${{ secrets.REGISTRY_TOKEN }}
|
|
|
|
- name: Build & push backend
|
|
uses: docker/build-push-action@v6
|
|
with:
|
|
context: ./backend
|
|
push: true
|
|
tags: ${{ env.BACKEND_IMAGE }}:latest
|
|
|
|
- name: Build & push frontend
|
|
uses: docker/build-push-action@v6
|
|
with:
|
|
context: ./frontend
|
|
push: true
|
|
tags: ${{ env.FRONTEND_IMAGE }}:latest
|
|
|
|
- name: Deploy to server
|
|
uses: appleboy/ssh-action@v1
|
|
with:
|
|
host: ${{ secrets.DEPLOY_HOST }}
|
|
username: ${{ secrets.DEPLOY_USER }}
|
|
key: ${{ secrets.DEPLOY_KEY }}
|
|
script: |
|
|
cd /srv/docker/apps/timing
|
|
docker compose pull
|
|
docker compose up -d
|