🚀 Script d'installation automatisée des outils DevOps essentiels
Ce projet contient un script Bash complet pour installer et configurer automatiquement tous les outils DevOps nécessaires sur votre poste de travail Debian.
- 🔄 Multi-plateformes: Support Linux (Debian/Ubuntu, RedHat/Fedora, Arch), macOS et Windows
- 🎯 Installation sélective: Choisissez les outils à installer
- 🔍 Mode simulation: Testez sans rien installer
- 📊 Validation automatique: Vérifie que chaque outil est bien installé
- 📝 Logs détaillés: Suivez l'installation pas à pas
- 🛡️ Gestion des erreurs: Arrêt propre en cas d'échec
- Git - Contrôle de version
- Docker & Docker Compose - Conteneurisation
- Kubernetes (kubectl) - Orchestration
- Terraform - Infrastructure as Code
- Ansible - Automatisation et configuration
- AWS CLI - Interface AWS
- Vault - Gestion des secrets (HashiCorp)
- Trivy - Scanner de vulnérabilités (Aqua Security)
- Checkov - Scanner de sécurité infrastructure
- k6 - Performance testing
- Newman - API testing (Postman collections)
- Node.js - Runtime JavaScript avec npm
- Rust - Langage de programmation système performant
- PHP - Langage de script web
- Python 3 - Langage de programmation avec pip
- uv - Installateur Python ultra-rapide (Astral)
- Go - Langage de programmation compilé
- Composer - Gestionnaire de paquets PHP
- Yarn - Gestionnaire de paquets JavaScript
- NVM - Node Version Manager
- jq & yq - Manipulation JSON/YAML
- Helm - Package manager Kubernetes
# Clonez le repository
git clone https://gitlab.com/Mounik/setup-devops.git
cd setup-devops
# Rendez le script exécutable
chmod +x install-devops-tools.sh
# Installation complète de tous les outils
./install-devops-tools.sh
# Installation par pack
./install-devops-tools.sh tools # Outils DevOps essentiels
./install-devops-tools.sh security # Outils de sécurité et scanning
./install-devops-tools.sh testing # Outils de testing et performance
./install-devops-tools.sh languages # Langages de développement
./install-devops-tools.sh essential # Git, Docker, kubectl, Terraform, Ansible
# Installation d'outils spécifiques
./install-devops-tools.sh git docker kubectl terraform ansibleOptions:
-h, --help Affiche l'aide
-d, --dry-run Simulation sans installation
-v, --verbose Mode verbeux
-t, --tools TOOLS Installation sélective
--essential Outils essentiels uniquement# Installation complète
./install-devops-tools.sh
# Installation par packs
./install-devops-tools.sh tools # Pack DevOps
./install-devops-tools.sh security # Pack Sécurité
./install-devops-tools.sh testing # Pack Testing
./install-devops-tools.sh languages # Pack Langages
# Installation sélective
./install-devops-tools.sh git docker kubectl terraform
# Simulation
./install-devops-tools.sh --dry-run full
./install-devops-tools.sh --dry-run tools
# Lister les packs et outils disponibles
./install-devops-tools.sh --listsetup-devops/
├── README.md # Ce fichier
├── install-devops-tools.sh # Script principal d'orchestration
├── scripts/ # Scripts d'installation individuels
│ ├── install-git.sh # Installation de Git
│ ├── install-docker.sh # Installation de Docker
│ ├── install-gh.sh # Installation de GitHub CLI
│ ├── install-kubectl.sh # Installation de kubectl
│ ├── install-terraform.sh # Installation de Terraform
│ ├── install-aws-cli.sh # Installation de AWS CLI
│ ├── install-ansible.sh # Installation d'Ansible
│ ├── install-helm.sh # Installation de Helm
│ ├── install-nodejs.sh # Installation de Node.js
│ ├── install-rust.sh # Installation de Rust
│ ├── install-php.sh # Installation de PHP
│ ├── install-python.sh # Installation de Python et uv
│ ├── install-composer.sh # Installation de Composer
│ ├── install-yarn.sh # Installation de Yarn
│ ├── install-nvm.sh # Installation de NVM
│ └── install-go.sh # Installation de Go
│ ├── install-vault.sh # Installation de Vault
│ ├── install-trivy.sh # Installation de Trivy
│ ├── install-checkov.sh # Installation de Checkov
│ ├── install-k6.sh # Installation de k6
│ └── install-newman.sh # Installation de Newman
└── logs/ # Logs d'installation (créés automatiquement)
- Docker, Docker Compose, Kubernetes (kubectl), Helm
- AWS CLI, Terraform, Ansible, Pulumi
- Vault, Trivy, k6, Newman, Checkov
- jq, yq, curl, wget, htop, vim
- Cascadia Code Nerd Font avec configuration automatique
- Node.js avec npm et Yarn
- Rust avec toolchain complète
- PHP avec Composer et extensions
- Python 3 avec pip et uv (Astral)
- Go avec toolchain complète
- NVM pour gestion multi-versions Node.js
- Système: Debian/Ubuntu (actuellement)
- Packages: curl, wget, unzip (installés automatiquement)
- Permissions: Accès sudo pour installations système
- Espace disque: ~2GB pour tous les outils
- Créez un script d'installation individuel dans
scripts/install-mon-outil.sh:
#!/bin/bash
# Mon Outil Installation Script
set -euo pipefail
# [Copiez le template d'un script existant]
install_mon_outil() {
print_info "Installing Mon Outil..."
# Commandes d'installation ici
print_success "Mon Outil installed successfully"
}
install_mon_outil- Rendez-le exécutable:
chmod +x scripts/install-mon-outil.sh - Ajoutez-le au script principal dans la section PACKS ou TOOLS
- Mettez à jour le README et la documentation
Créez un fichier .devops-config pour vos préférences:
# .devops-config
TOOLS_TO_INSTALL="git,docker,kubectl,terraform,aws"
SKIP_TOOLS="jenkins,prometheus"
CUSTOM_VERSIONS="terraform=1.5.0,kubectl=1.28.0"Permission denied Docker:
sudo usermod -aG docker $USER
# Déconnectez/reconnectez ou exécutez: newgrp dockerAWS CLI non trouvé:
# Vérifiez le PATH
echo $PATH | tr ':' '\n' | grep -E "(aws|local)"
# Ajoutez au .bashrc/.zshrc si nécessaire
export PATH="$PATH:/usr/local/bin"Terraform version incompatible:
# Installez une version spécifique
wget https://releases.hashicorp.com/terraform/1.5.7/terraform_1.5.7_linux_amd64.zip# Mode verbeux pour diagnostiquer
./install-devops-tools.sh -v --dry-run
# Consultez les logs
cat /tmp/devops-install-*.logLes contributions sont les bienvenues !
- Forkez le projet
- Créez une branche:
git checkout -b feature/nouvel-outil - Ajoutez votre outil
- Testez sur différents systèmes
- Soumettez une Merge Request
- Suivez le style de code existant
- Ajoutez des tests de validation
- Documentez les nouveaux outils
- Testez sur au moins 2 systèmes d'exploitation
- Interface interactive (menu graphique)
- Support containers (Docker image du script)
- Tests automatisés multi-plateformes
- Gestionnaire de versions intégré (tfenv, nvm, etc.)
- Support complet des écosystèmes de développement (Node.js, Python, PHP, Go)
- Configuration par profil (développeur, ops, sécurité)
- Integration CI/CD pour validation du script
MIT License - Voir LICENSE pour plus de détails
- @Mounik - Créateur et mainteneur
- Communauté open-source pour les outils incroyables
- HashiCorp pour Terraform, Vault, etc.
- Docker pour la conteneurisation
- Kubernetes pour l'orchestration
- Issues: Créer une issue sur GitLab
- Discussions: Forum GitLab
- Email: [email protected]
⭐ Star ce repository si vous le trouvez utile !
Le script installe automatiquement Cascadia Code Nerd Font avec configuration système complète:
- Linux: GNOME Terminal, Tilix, Kitty, Alacritty
- macOS: Terminal.app, Kitty (iTerm2 manuel)
- Windows: Windows Terminal, PowerShell
- Icônes Git et DevOps intégrées
- Ligatures de programmation
- Support complet des glyphes
- Activation automatique
Made with ❤️ for the DevOps community