Не удалось войти в конвейер Jenkins на docker хаб - PullRequest
0 голосов
/ 27 апреля 2020

Я пытаюсь использовать конвейер для запуска нескольких вещей, и когда я запустил конвейер, мне не удалось войти в систему docker.

, странная вещь в том, что я могу войти в систему на самой машине. но когда я запускаю, конвейер терпит неудачу с этой странной ошибкой:

Started by user admin
Running in Durability level: MAX_SURVIVABILITY
[Pipeline] Start of Pipeline
[Pipeline] stage
[Pipeline] { (Front-end)
[Pipeline] node
Running on test-env in /var/www/test-env/workspace/client-e2e
[Pipeline] {
[Pipeline] withEnv
[Pipeline] {
[Pipeline] withDockerRegistry
Using the existing docker config file.Removing blacklisted property: auths$ docker login -u ***** -p ******** https://hub.docker.com/?namespace=******
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
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] // node
[Pipeline] }
[Pipeline] // stage
[Pipeline] End of Pipeline
ERROR: docker login failed
Finished: FAILURE

Я не знаю, почему он выполняет вход в систему, когда это изображение общедоступно для всех. кто-нибудь может мне помочь?

это сам конвейер:

pipeline {
    agent none
    stages {
        stage('Front-end') {
            agent {
                docker { 
                    image 'node:8-alpine'
                    label "test-env"

                }
            }
            steps {
                sh 'node --version'
            }
        }
    }
}

Ответы [ 2 ]

0 голосов
/ 27 апреля 2020

Хорошо, так что через некоторое время я обнаружил, что это было так просто, как сделать это

pipeline {

    agent none
    stages {
        stage('Front-end') {
            agent {
                docker { 
                    image 'node:8-alpine'
                    registryUrl 'https://index.docker.io/v1/'
                    label "test-env"

                }
            }
            steps {
                sh 'node --version'
            }
        }
    }
}

это было исправлено: registryUrl 'https://index.docker.io/v1/'

0 голосов
/ 27 апреля 2020

Вы можете попробовать с помощью Плагин привязки учетных данных in:

steps { sh 'node --version' }

Вы можете сделать:

withCredentials([string(credentialsId: 'mytoken', variable: 'TOKEN')]) {
sh '''
  docker login -u '<your_user>' -p '<$TOKEN>' 
  node --version
'''

}

Вот пример: https://issues.jenkins-ci.org/browse/JENKINS-41051

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...