Files
ms1readerv4/.cursor/rules/ops/20-git-deploy-playbook.mdc
stephan d500ac02f4 Structurer les règles agent (.cursor/rules entreprise/projet/ops).
Playbook Git/deploy et paramètres Reader pour référence automatique à chaque session.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-19 12:05:59 -04:00

37 lines
1.7 KiB
Plaintext

---
description: MS1 Reader — playbook Git/deploy + subtilités (ops)
alwaysApply: true
---
# Playbook Git / deploy — MS1 Reader
## Layout critique (≠ CRM)
- Sur le serveur, le dépôt Git est à **`/home/ms1reader`**, pas dans `public_html` seul.
- `ci4app/` et `public_html/` sont **frères** ; `index.php` charge `../ci4app/...`.
- `www` est un **symlink** vers `public_html` — ne jamais versionner un dossier `www/` réel (casse le symlink).
## Fichiers deploy (obligatoires)
1. **`/home/ms1reader/deploy/deploy_dev.sh`** (hors git applicatif ou non tracké OK)
- `REPO_DIR="/home/ms1reader"` (absolu — PHP n'a pas `HOME`)
- `git fetch origin dev` → `reset --hard` → `git clean -fd -- ci4app public_html`
- Réparer symlink `www` si besoin
2. **`public_html/deploy_dev.php`** (versionné) appelle le `.sh`
3. Exemple dans le repo : `deploy/deploy_dev.sh.example`
## Subtilités apprises
- Terminal cPanel ≠ PowerShell Windows (`[ms1reader@serveur-prod ~]$`).
- Premier `git checkout` sur fichiers existants : souvent besoin de `-f`.
- `git clean` sur `public_html` peut enlever `.well-known` / favicon non versionnés.
- Auth Gitea : Credential Manager ; éviter OAuth HTTP (`login/oauth/grant` Bad Request) → provider generic + token.
- Ne pas tester `git@bitbucket.org` **depuis le serveur** (pas de clé) — Bitbucket = miroir depuis Gitea seulement.
- Bitbucket créé avec `main` vide : aligner avec `git push --force … dev:dev` puis default branch `dev`, supprimer `main`.
## Test bout en bout
1. Push `dev` → Gitea
2. `git -C ~ log -1 --oneline` sur serveur = même SHA
3. `git ls-remote --heads git@bitbucket.org:progiwebinc/ms1readerv4.git` (depuis Windows) = même SHA