Использование команды docker в Jenkinsfile дает мне противоречивый результат (иногда работает, иногда не находит) - PullRequest
0 голосов
/ 21 февраля 2020
pipeline {
    agent any
    stages {
        stage('BuildImage') {
            steps {
                withCredentials([string(credentialsId: 'docker_pw', variable: 'DOCKER_PW')]){
                    sh '''
                        docker login -u ... -p ${DOCKER_PW} <dockerhub>
                        docker -v
                    '''
                }
            }
        }
...

Я строю трубопровод Дженкинса, используя Jenkinsfile. Я пытаюсь создать образ docker в Jenkinsfile и отправить его в dockerhub.

Иногда это работает, но иногда мне просто не удается с сообщением line 2: docker: command not found

Это не имеет смысла для меня, потому что это иногда работает.

Нужно ли использовать другой агент или что-то еще?

1 Ответ

0 голосов
/ 21 февраля 2020

Это может быть связано с тем, что задание пытается работать на агентах, где docker не установлено. Лучшим решением будет использование меток. Вы можете добавить метки на агентах, где установлена ​​docker. Это поможет определить, для чего этот агент может быть использован. Затем вы можете указать в пайлайн с agent { label 'docker' }

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