- Documentation complète pour Nginx Proxy Manager (docs/10-configuration-nginx-proxy-manager.md) - Script get-npm-token.sh pour générer automatiquement les tokens API - Exemple complet de .woodpecker.yml avec logique inline de déploiement - Documentation déploiement applications avec URLs dynamiques (docs/09-deploiement-applications.md) - Script deploy.sh comme alternative optionnelle - Mise à jour README avec références aux nouvelles documentations
3.2 KiB
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 :
./get-npm-token.sh [NPM_URL] [EMAIL]
Exemples :
# 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 :
./deploy.sh <app-name> [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_netexistant - Image Docker
{app-name}:latestconstruite - 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
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 :
cp scripts/.woodpecker.yml.example .woodpecker.yml
3. Configurer les secrets dans Woodpecker
- Allez dans Settings > Secrets de votre projet
- Ajoutez :
NPM_API_URL: URL de l'API Nginx Proxy ManagerNPM_API_TOKEN: Token d'APIDOMAIN_BASE: Domaine de base (optionnel)
Documentation
Pour plus de détails, consultez :