CI : login registre via un secret REGISTRY_TOKEN
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:
parent
1b429049c2
commit
3a555c0bc9
1 changed files with 15 additions and 5 deletions
|
|
@ -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: |
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue