Ce projet met en place une infrastructure DevOps complète basée sur Docker, regroupant les principaux outils de développement et d’intégration continue. Cette forge logicielle sera entièrement déployée par Ansible.
Par défaut, le playbook se connectera à votre private registry DockerHub. Pour désactiver cette fonction, voir cette doc.
Projet réalisé dans le cadre d'un TP Conteneur & orchestration Mastère Expert en cloud, sécurité & infrastructure 2024/2026
- Gitea – forge Git légère et auto-hébergée
- Jenkins – pipeline CI/CD automatisé
- Nginx Proxy + Let's Encrypt – reverse proxy automatique avec certificats SSL
- PostgreSQL – base de données pour Gitea
- Forge Homepage – page d’accueil centralisée
| Composant | Rôle |
|---|---|
| Docker / Docker Compose | Orchestration des services |
| Nginx Proxy | Routage HTTP/S automatique |
| Let's Encrypt Companion | Gestion des certificats SSL |
| Gitea | Hébergement de code source |
| Jenkins | Intégration et déploiement continu |
| PostgreSQL | Stockage des données Gitea |
| Ansible | Déploiement configuration distante |
# Clone repository
git clone https://github.com/thfx31/Ynov_docker.git
# Clean your docker images (optional)
make cleanup
# Build your images (optional)
make build
# Create and init your virtual environment
make venv && make init
# Change domains vars
vim ansible/roles/forge_cicd/files/.env
# Configure ansible.cfg (ssh keys)
vim ansible/ansible.cfg
# Deploy your CI/CD forge
cd ansible
ansible-playbook -i inventory.ini forge-cicd.yml| Service | URL | Description |
|---|---|---|
| Gitea | https://gitea.yourdomain | Forge Git |
| Jenkins | https://jenkins.yourdomain | CI/CD |
| Forge Homepage | https://forge.yourdomain | Page d’accueil |
| PostgreSQL | Interne (non exposé) | Base Gitea |
Retrouvez les détails techniques et les schémas dans le dossier docs/.
Projet réalisé par Thomas FAUROUX et Robin THIRIET Dépôt : thfx31/ynov_docker
Ce projet est distribué sous licence MIT.
Vous pouvez librement le réutiliser et le modifier avec attribution.