Files
push-image/README.md
2025-12-26 12:43:39 +01:00

81 lines
3.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# L'action `push-image`
Cette action permet de pousser une image Docker dans un registre à l'aide des outils `docker`, `podman` ou `skopeo`.
Elle est conçue pour être utilisée dans des workflows Gitea avec des runners auto-hébergés.
---
## 🔧 Utilisation
```yaml
- name: Build and push Docker image
uses: https://gargoton.petite-maison-orange.fr/pmo-actions/push-image@main
with:
image_name: my_image
image_tags: latest stable
```
---
## 📥 Paramètres
| Nom | Obligatoire | Par défaut | Description |
|-------------------|-------------|-------------------------------------|---------------------------------------------------------------------------------|
| `image_name` | ✅ | | Nom de l'image à pousser. |
| `image_tags` | ✅ | | Liste des tags à ajouter à l'image avant de la pousser. |
| `registry_login` | ❌ | `false` | Indique si l'action doit se connecter au registre avant de pousser l'image. |
| `registry_user` | ❌ | `${{ secrets.PMO_REGISTRY_USER }}` | Utilisateur pour se connecter au registre. |
| `registry_password`| ❌ | `${{ secrets.PMO_REGISTRY_PASSWORD }}`| Mot de passe pour se connecter au registre. |
| `registry_server` | ❌ | `niepce.petite-maison-orange.fr` | Adresse du serveur du registre d'images Docker. |
| `push_command` | ❌ | `skopeo` | Commande à utiliser pour pousser l'image (`docker`, `podman` ou `skopeo`). |
| `debug` | ❌ | `false` | Mode débogage. Si activé, affiche des informations détaillées pendant l'exécution. |
---
## ▶️ Exemples de workflow
### Avec Docker
```yaml
- name: Push Docker image
uses: https://gargoton.petite-maison-orange.fr/pmo-actions/push-image@main
with:
image_name: my_image
image_tags: latest stable
registry_login: true
registry_user: ${{ secrets.PMO_REGISTRY_USER }}
registry_password: ${{ secrets.PMO_REGISTRY_PASSWORD }}
registry_server: niepce.petite-maison-orange.fr
push_command: docker
debug: true
```
### Avec Skopeo
```yaml
- name: Push Docker image with Skopeo
uses: https://gargoton.petite-maison-orange.fr/pmo-actions/push-image@main
with:
image_name: public/pmomusic
image_tags: latest v1.0.0
registry_login: true
push_command: skopeo
```
---
## ⚙️ Comportement
- Si l'option `registry_login` est activée, l'action se connecte au registre avant de pousser l'image.
- Si la commande `push_command` échoue, l'action renvoie une erreur.
- L'image est poussée sous chaque tag spécifié dans le paramètre `image_tags`.
- Si `debug` est activé, des informations détaillées sont affichées pendant le processus.
### Différences entre les commandes
- **`docker` et `podman`** : Utilisent la syntaxe classique `push <registry>/<image>:<tag>`
- **`skopeo`** : Utilise la syntaxe `copy docker-daemon:<image> docker://<registry>/<image>` pour copier l'image depuis le daemon local vers le registre distant
---
## 🧡 À 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/)