Files
3d-pricing/act-runner/README-SETUP.md
T
Jo eb6da4c270
Build & Deploy / deploy (push) Failing after 19s
ci: add Gitea Actions deploy workflow
2026-07-06 19:26:00 +02:00

2.8 KiB

Setup CI/CD — Gitea Actions + Act Runner

Architecture

Serveur A : Gitea (192.168.5.171:3000)
Serveur B : Portainer + Docker + 3d-pricing

Le runner tourne sur le Serveur B. Il se connecte vers Gitea (outbound uniquement). Pas de registry : l'image est buildée et gardée localement sur le Serveur B.


Étape 1 — Activer Gitea Actions (Serveur A)

Trouver app.ini :

docker exec gitea cat /etc/gitea/app.ini | grep -A5 "\[actions\]"
# ou
docker exec gitea find / -name app.ini 2>/dev/null

Ajouter dans app.ini :

[actions]
ENABLED = true

Redémarrer Gitea :

docker restart gitea

Étape 2 — Récupérer le token runner (Serveur A, interface web)

Gitea → Site Administration → Actions → Runners → Create new Runner

Copier le Registration Token.


Étape 3 — Déployer le runner (Serveur B)

# Créer le dossier
mkdir -p /opt/gitea-act-runner
cd /opt/gitea-act-runner

# Copier le docker-compose.yml (celui de ce dossier)
cp /chemin/vers/act-runner/docker-compose.yml .

# Créer le fichier .env avec le token
echo "RUNNER_TOKEN=COLLER_LE_TOKEN_ICI" > .env

# Démarrer
docker compose up -d

# Vérifier que le runner s'est bien enregistré
docker logs -f gitea-act-runner
# Tu dois voir : "Runner registered successfully"

Étape 4 — Migrer les données existantes (une seule fois)

Si tu avais déjà un ./data/pricing.db sur le serveur :

mkdir -p /opt/3d-pricing-data
cp /chemin/ancien/data/pricing.db /opt/3d-pricing-data/

Le workflow déploie avec -v /opt/3d-pricing-data:/data — c'est le dossier permanent de la BDD.


Étape 5 — Activer Actions sur le repo

Dans Gitea → ton repo → Settings → General → activer "Actions"


Étape 6 — Push et tester

cd /mnt/c/Users/jbper/Claude/3d-pricing
git add -A
git commit -m "ci: add Gitea Actions deploy workflow"
git push

Surveiller dans Gitea → ton repo → Actions — le job doit passer en vert.


Troubleshooting

Runner ne s'enregistre pas

docker logs gitea-act-runner
# Vérifier que 192.168.5.171:3000 est joignable depuis le Serveur B
ping 192.168.5.171
curl http://192.168.5.171:3000/api/v1/version

docker: command not found dans le workflow Le binaire docker du host doit être accessible dans le runner. Vérifier le volume dans docker-compose.yml :

- /usr/local/bin/docker:/usr/local/bin/docker:ro

Adapter le chemin si docker est ailleurs (which docker sur le host).

Healthcheck échoue

docker logs 3d-pricing

Workflow ne se déclenche pas

  • Vérifier que Actions est activé sur le repo (Settings → General)
  • Vérifier que [actions] ENABLED = true est dans app.ini et que Gitea a redémarré
  • Vérifier que le runner apparaît dans Site Admin → Actions → Runners (statut "Online")