This commit is contained in:
@@ -1,124 +0,0 @@
|
|||||||
# 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` :
|
|
||||||
```bash
|
|
||||||
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` :
|
|
||||||
```ini
|
|
||||||
[actions]
|
|
||||||
ENABLED = true
|
|
||||||
```
|
|
||||||
|
|
||||||
Redémarrer Gitea :
|
|
||||||
```bash
|
|
||||||
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)
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# 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 :
|
|
||||||
```bash
|
|
||||||
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
|
|
||||||
|
|
||||||
```bash
|
|
||||||
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**
|
|
||||||
```bash
|
|
||||||
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 :
|
|
||||||
```yaml
|
|
||||||
- /usr/local/bin/docker:/usr/local/bin/docker:ro
|
|
||||||
```
|
|
||||||
Adapter le chemin si docker est ailleurs (`which docker` sur le host).
|
|
||||||
|
|
||||||
**Healthcheck échoue**
|
|
||||||
```bash
|
|
||||||
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")
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
services:
|
|
||||||
runner:
|
|
||||||
image: gitea/act_runner:latest
|
|
||||||
container_name: gitea-act-runner
|
|
||||||
restart: unless-stopped
|
|
||||||
environment:
|
|
||||||
- GITEA_INSTANCE_URL=http://192.168.5.171:3000
|
|
||||||
- GITEA_RUNNER_REGISTRATION_TOKEN=${RUNNER_TOKEN}
|
|
||||||
- GITEA_RUNNER_NAME=portainer-server
|
|
||||||
- GITEA_RUNNER_LABELS=self-hosted,linux,docker
|
|
||||||
volumes:
|
|
||||||
- ./data:/data
|
|
||||||
- /var/run/docker.sock:/var/run/docker.sock
|
|
||||||
# Le runner a besoin de docker compose v2
|
|
||||||
- /usr/local/bin/docker:/usr/local/bin/docker:ro
|
|
||||||
Reference in New Issue
Block a user