generated from pmo-actions/healthchecks-ping
81 lines
3.6 KiB
Markdown
81 lines
3.6 KiB
Markdown
# 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/)
|