# Scripts et exemples de déploiement Ce répertoire contient des exemples et scripts pour le déploiement d'applications. ## Approche recommandée : Tout dans `.woodpecker.yml` **Recommandation** : Intégrez toute la logique de déploiement directement dans votre fichier `.woodpecker.yml`. Cela permet d'avoir tout au même endroit et de voir exactement ce qui se passe. Consultez le fichier `.woodpecker.yml.example` pour un exemple complet avec toute la logique inline. ## Scripts disponibles ### `get-npm-token.sh` Script pour générer un token API pour Nginx Proxy Manager. **Usage** : ```bash ./get-npm-token.sh [NPM_URL] [EMAIL] ``` **Exemples** : ```bash # Avec valeurs par défaut (localhost:81, admin@example.com) ./get-npm-token.sh # Avec URL personnalisée ./get-npm-token.sh http://192.168.42.144:81 # Avec URL et email personnalisés ./get-npm-token.sh http://192.168.42.144:81 votre_email@example.com ``` Le script vous demandera le mot de passe de manière sécurisée et affichera le token à copier dans Woodpecker CI. ### `deploy.sh` (optionnel) Script générique de déploiement avec génération automatique d'URLs dynamiques. **Note** : Ce script est fourni comme alternative si vous préférez utiliser un script séparé plutôt que d'intégrer la logique dans `.woodpecker.yml`. **Fonctionnalités** : - Déploiement de conteneurs Docker - Génération automatique d'URLs basées sur le nom et la branche - Enregistrement automatique dans Consul via labels - Configuration automatique de Nginx Proxy Manager - Health checks intégrés **Usage** : ```bash ./deploy.sh [port] [branch] [domain-base] ``` ## Configuration requise ### Variables d'environnement | Variable | Description | Requis | |----------|-------------|--------| | `DOCKER_NETWORK` | Réseau Docker partagé | Non (défaut: gitgit_syoul_fr_gitea_net) | | `NPM_API_URL` | URL de l'API Nginx Proxy Manager | Non (config manuelle si absent) | | `NPM_API_TOKEN` | Token d'API Nginx Proxy Manager | Non (config manuelle si absent) | | `DOMAIN_BASE` | Domaine de base pour les URLs | Non (défaut: syoul.fr) | | `CONSUL_TOKEN` | Token Consul | Non (vérification optionnelle) | ### Prérequis - Docker installé et accessible - Réseau Docker `gitgit_syoul_fr_gitea_net` existant - Image Docker `{app-name}:latest` construite - Consul et Registrator déployés (pour la découverte de services) - Nginx Proxy Manager (optionnel, pour la config automatique) ## Intégration dans Woodpecker CI ### 1. Copier le script dans votre projet ```bash mkdir -p scripts cp /opt/infrastructure/scripts/deploy.sh scripts/ chmod +x scripts/deploy.sh ``` ### 2. Utiliser l'exemple `.woodpecker.yml` Copiez `scripts/.woodpecker.yml.example` dans votre projet et adaptez-le : ```bash cp scripts/.woodpecker.yml.example .woodpecker.yml ``` ### 3. Configurer les secrets dans Woodpecker 1. Allez dans **Settings** > **Secrets** de votre projet 2. Ajoutez : - `NPM_API_URL` : URL de l'API Nginx Proxy Manager - `NPM_API_TOKEN` : Token d'API - `DOMAIN_BASE` : Domaine de base (optionnel) ## Documentation Pour plus de détails, consultez : - [Guide de déploiement complet](../../docs/09-deploiement-applications.md)