# L'action `install-container-tools` Cette action installe les outils de conteneurisation (Docker, Podman, Skopeo) sur le runner. --- ## 🔧 Utilisation ```yaml - name: Install container tools uses: https://gargoton.petite-maison-orange.fr/pmo-actions/install-container-tools@main with: tools: skopeo,podman ``` --- ## 📥 Paramètres | Nom | Obligatoire | Par défaut | Description | |--------|-------------|------------|----------------------------------------------------------| | `tools`| ✅ | – | Liste d'outils séparés par des virgules (docker,podman,skopeo) | | `debug`| ❌ | `false` | Mode débogage | --- ## ▶️ Exemples ### Installer Skopeo uniquement ```yaml - name: Install Skopeo uses: https://gargoton.petite-maison-orange.fr/pmo-actions/install-container-tools@main with: tools: skopeo ``` ### Installer Podman uniquement ```yaml - name: Install Podman uses: https://gargoton.petite-maison-orange.fr/pmo-actions/install-container-tools@main with: tools: podman ``` ### Installer plusieurs outils ```yaml - name: Install multiple tools uses: https://gargoton.petite-maison-orange.fr/pmo-actions/install-container-tools@main with: tools: docker,podman,skopeo ``` ### Avec debug activé ```yaml - name: Install tools with debug uses: https://gargoton.petite-maison-orange.fr/pmo-actions/install-container-tools@main with: tools: skopeo,podman debug: true ``` --- ## ⚙️ Comportement - ✅ Vérifie si l'outil est déjà installé avant de l'installer - ✅ Support de plusieurs outils en une seule action - ✅ Installation via `apt-get` pour Podman et Skopeo - ✅ Installation via le script officiel pour Docker - ✅ Gestion d'erreur si un outil n'est pas supporté --- ## 🔄 Migration depuis les actions existantes ### Avant (dans push-image) ```yaml - name: install skopeo if: inputs.push_command == 'skopeo' shell: bash run: | source "${{ github.action_path }}/../bashlib.sh" step "Install software" "skopeo" # ... 15 lignes de code ... - name: install podman if: inputs.push_command == 'podman' shell: bash run: | source "${{ github.action_path }}/../bashlib.sh" step "Install software" "podman" # ... 15 lignes de code ... ``` ### Après (avec install-container-tools) ```yaml - name: Install container tool if: inputs.push_command == 'skopeo' || inputs.push_command == 'podman' uses: https://gargoton.petite-maison-orange.fr/pmo-actions/install-container-tools@main with: tools: ${{ inputs.push_command }} debug: ${{ inputs.debug }} ``` **Réduction** : ~30 lignes → ~5 lignes par action ! 🎉 --- ## 🧡 À propos Cette action fait partie des actions de la **Petite Maison Orange**. Toutes les actions sont disponibles ici : 👉 [https://gargoton.petite-maison-orange.fr/pmo-actions/](https://gargoton.petite-maison-orange.fr/pmo-actions/)