Bonjour la communauté,
Après avoir compris grâce à un autre topic que docker-in-docker n’était pas utilisable directement avec le runner gitlab partagé, j’essaie avec Kaniko
Seulement, en suivant Use kaniko to build Docker images | GitLab, ainsi que cette recommandation qui indique de rédiger différemment le config.json, aucun moyen de m’identifier.
Voici mon code :
deploy-job:
image:
name: gcr.io/kaniko-project/executor:debug
entrypoint: [""]
stage: deploy
script:
- export VERSION=$(cat ./orea/__init__.py | grep __version__ | head -1 | awk -F'=' '{ print $2 }' | sed "s/[' ]//g")
- mkdir -p /kaniko/.docker
# - KANIKOCFG="\"auths\":{\"${CI_REGISTRY}\":{\"username\":\"${REGISTRY_USERNAME}\",\"password\":\"${REGISTRY_PSSWD}\"}}"
# - echo "${KANIKOCFG}" > /kaniko/.docker/config.json
- echo "{\"auths\":{\"$CI_REGISTRY\":{\"auth\":\"$(echo -n ${REGISTRY_USERNAME}:${REGISTRY_TOKEN} | base64)\"}}}" > /kaniko/.docker/config.json
- >-
/kaniko/executor
--context "${CI_PROJECT_DIR}"
--dockerfile "${CI_PROJECT_DIR}/Dockerfile"
--destination "${CI_REGISTRY_IMAGE}:${VERSION}"
J’ai essayé :
- avec l’image
executor:v1.9.0-debug
- avec la méthode 1
{"username": "${REGISTRY_USERNAME}","password": "${REGISTRY_PSSWD}"}
- avec la méthode 2
{"auth": "xxxxxxx"}
(utilisantecho -n $REGISTRY_USERNAME:$REGISTRY_PSSWD | base64
) - avec un token généré et avec mon propre mot de passe
- en recopiant exactement le config.json généré quand je fais
docker login
sur ma machine (cela rend exactement comme la méthode 1) - avec CI_REGISTRY : https:// index. docker. io/v1/ ET https:// index. docker. io/v2/ (sans espace bien sûr)
A chaque fois l’erreur est bien
Pour v1 :
checking push permission for "orea-back:1.4.0-SNAPSHOT": POST https://index.docker.io/v2/library/orea-back/blobs/uploads/: UNAUTHORIZED: authentication required; [map[Action:pull Class: Name:library/orea-back Type:repository] map[Action:push Class: Name:library/orea-back Type:repository]]
Pour v2 :
checking push permission for "orea-back:1.4.0-SNAPSHOT": creating push check transport for index.docker.io failed: GET https://auth.docker.io/token?scope=repository%3Alibrary%2Forea-back%3Apush%2Cpull&service=registry.docker.io: unexpected status code 401 Unauthorized: {"details":"incorrect username or password"}
Y a-t-il quelque chose qui me manque et que je ne vois pas ?
Merci grandement pour votre aide
Alexandre