Files
cactoz.su/.gitea/workflows/deploy.yml
T
cacto 1bc94980f8 Клонировать по внутреннему адресу Gitea вместо actions/checkout
actions/checkout тянет свой код с github.com и берёт URL из внутреннего
server_url — оба варианта требуют сети, которой у джоб-контейнера
раннера нет вообще (ни наружу, ни туда). Ручной git clone по
http://gitea:3000/... остаётся внутри docker-сети раннера/Gitea.
2026-07-26 23:18:34 +05:00

31 lines
1.2 KiB
YAML

name: Deploy
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
# actions/checkout скачивает свой код с github.com и берёт URL из
# внутреннего server_url Gitea — оба варианта требуют сети, которой
# у джоб-контейнера раннера нет. Клонируем напрямую по внутреннему
# адресу Gitea в docker-сети раннера.
- name: Checkout
run: git clone --depth=1 --branch main http://gitea:3000/cacto/cactoz.su.git repo
# Runner уже на cacto-homelab и имеет доступ к docker.sock хоста,
# поэтому образ собирается прямо на месте — без registry и без SSH.
- name: Sync to deploy directory
run: |
mkdir -p /data/docker/compose/cactoz
rsync -a --delete --exclude '.git' repo/ /data/docker/compose/cactoz/
- name: Build and restart
working-directory: /data/docker/compose/cactoz
run: |
docker compose -f docker-compose.prod.yml build
docker compose -f docker-compose.prod.yml up -d
docker image prune -f