Пишу pipeline jenkins который создает image docker из dockerfile и пушит его на dockerhub
pipeline состоит из трех шагов.Первые два отлично работают.Возникла проблема с отправкой готового image в свой репозиторий на dockerhub. вот весь третий шаг
stage('Deploy image') {
steps {
script{
docker.withRegistry('https://hub.docker.com', registryCredential ) {
dockerImage.push("$BUILD_NUMBER")
dockerImage.push('latest')
в environment прописано что registryCredential= 'dockerhub'(dockerhub это логин и пароль от моего аккаунта на https://hub.docker.com)
Выдает следующую ошибку
$ docker login -u tilk9092 --password-stdin https://hub.docker.com
Error response from daemon: login attempt to https://hub.docker.com/v2/ failed with status: 404 Not Found
[Pipeline] // withDockerRegistry
[Pipeline] }
[Pipeline] // withEnv
[Pipeline] }
[Pipeline] // script
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // withEnv
[Pipeline] }
[Pipeline] // withEnv
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
ERROR: docker login failed
Finished: FAILURE
Идеи?
Ответы (2 шт):
Автор решения: yaromir
→ Ссылка
Насколько знаю, второй аргумент у docker.withRegistry(...) - это ID credentials.
Добавлен ли в "Credentials -> System -> Global credentials -> Add Credentials" credential с ID dockerhub с вашим логином и паролем к Docker Hub?
Автор решения: Саня
→ Ссылка
Решение следующее,в энвах объявляется переменная
dockerImage = ''
Соответственно последний шаг выглядит так
stage('Deploy image') {
steps {
script{
docker.withRegistry('', registryCredential ) {
dockerImage.push("$BUILD_NUMBER")
dockerImage.push('latest')