# 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 /:` - **`skopeo`** : Utilise la syntaxe `copy docker-daemon: docker:///` 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/)