113 lines
3.0 KiB
Markdown
113 lines
3.0 KiB
Markdown
# 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/) |