44 lines
1.2 KiB
Markdown
44 lines
1.2 KiB
Markdown
|
|
# CI/CD avec Forgejo
|
||
|
|
|
||
|
|
## Vue d'ensemble
|
||
|
|
|
||
|
|
Le workflow `deploy.yml` automatise le build de l'application Vue et le déploiement sur le serveur de production.
|
||
|
|
|
||
|
|
## Workflow
|
||
|
|
|
||
|
|
À chaque push sur la branche `main` :
|
||
|
|
|
||
|
|
1. **Checkout** : Clone le dépôt
|
||
|
|
2. **Setup Node.js** : Installe Node.js 20
|
||
|
|
3. **Install dependencies** : Installe les dépendances npm
|
||
|
|
4. **Build Vue app** : Compile l'application Vue vers `public/assets/dist/`
|
||
|
|
5. **Deploy via FTP** : Synchronise les fichiers vers le serveur de production
|
||
|
|
|
||
|
|
## Configuration des secrets
|
||
|
|
|
||
|
|
Dans Forgejo, configurez les secrets suivants (Settings > Secrets and Variables > Actions) :
|
||
|
|
|
||
|
|
- `USERNAME` : Nom d'utilisateur FTP
|
||
|
|
- `PASSWORD` : Mot de passe FTP
|
||
|
|
- `PRODUCTION_HOST` : Hôte FTP (format : `ftp://host.example.com`)
|
||
|
|
|
||
|
|
## Fichiers déployés
|
||
|
|
|
||
|
|
Le workflow déploie depuis le dossier `public/` :
|
||
|
|
|
||
|
|
- `public/assets/` → `assets/` (incluant le build Vue dans `assets/dist/`)
|
||
|
|
- `public/site/` → `site/` (excluant accounts/, cache/, sessions/)
|
||
|
|
- `public/kirby/` → `kirby/`
|
||
|
|
- `public/vendor/` → `vendor/`
|
||
|
|
- `public/index.php` → `index.php`
|
||
|
|
|
||
|
|
## Build local
|
||
|
|
|
||
|
|
Pour tester le build localement :
|
||
|
|
|
||
|
|
```bash
|
||
|
|
npm run build
|
||
|
|
```
|
||
|
|
|
||
|
|
Les fichiers seront générés dans `public/assets/dist/` (ignorés par git).
|