CI : login registre via un secret REGISTRY_TOKEN
All checks were successful
Publier l'image Docker / test (push) Successful in 16s
Publier l'image Docker / publish (push) Successful in 19s

Le jeton automatique de Forgejo Actions n'a pas le droit paquets sur cette
instance (unauthorized: reqPackageAccess). Le job publish utilise désormais
secrets.REGISTRY_TOKEN (jeton d'accès write:package) et échoue tôt avec un
message clair s'il est absent. Nom d'utilisateur = propriétaire du dépôt.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Nicolas 2026-09-10 18:27:43 +02:00
parent 1b429049c2
commit 3a555c0bc9

View file

@ -15,10 +15,13 @@
# options: -v /var/run/docker.sock:/var/run/docker.sock # options: -v /var/run/docker.sock:/var/run/docker.sock
# puis redémarrer le runner. (Ou utiliser un runner « host » avec Docker.) # puis redémarrer le runner. (Ou utiliser un runner « host » avec Docker.)
# 4. Le runner doit joindre git.dev.kyuno.fr et github.com (actions/checkout). # 4. Le runner doit joindre git.dev.kyuno.fr et github.com (actions/checkout).
# 5. Registre : le jeton automatique `secrets.GITHUB_TOKEN` peut pousser des # 5. Registre : le jeton automatique n'a pas le droit d'écrire les paquets
# paquets pour l'organisation `kyuno`. Si ce n'est pas le cas, créer un # (erreur « unauthorized: reqPackageAccess »). Il faut donc :
# secret de dépôt `REGISTRY_TOKEN` (jeton d'accès avec la permission # a. Forgejo -> Settings -> Applications -> Generate New Token,
# « write:package ») et remplacer `secrets.GITHUB_TOKEN` plus bas. # scopes « write:package » et « read:package ».
# b. Dépôt mediaDrop -> Settings -> Actions -> Secrets -> Add Secret,
# nom : REGISTRY_TOKEN, valeur : le jeton créé.
# Le nom d'utilisateur du login registre est le propriétaire du dépôt.
name: Publier l'image Docker name: Publier l'image Docker
@ -81,7 +84,14 @@ jobs:
echo "Tags : ${list}" echo "Tags : ${list}"
- name: Connexion au registre - name: Connexion au registre
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login "$REGISTRY" -u "${{ github.actor }}" --password-stdin run: |
set -eu
if [ -z "${{ secrets.REGISTRY_TOKEN }}" ]; then
echo "Secret REGISTRY_TOKEN manquant (voir l'en-tête du workflow)." >&2
exit 1
fi
echo "${{ secrets.REGISTRY_TOKEN }}" | \
docker login "$REGISTRY" -u "${{ github.repository_owner }}" --password-stdin
- name: Build - name: Build
run: | run: |