Док-станция Jenkins: команда не найдена - PullRequest
0 голосов
/ 14 мая 2018

Я установил Jenkins на свой локальный компьютер, работающий в MacOS High Sierra, и установил докер. Я пытаюсь запустить простой пример конвейера, который использует Docker. Я добавил следующие строки в конвейер:

pipeline {
    agent {
        docker 'node'
    }
    stages {
        stage("testing 123") {
            steps {
                sh 'node --version'
            }
        }
    }
}

Затем из WebGUI я нажимаю на сборку сейчас, и она не работает. Консольный вывод с ошибкой docker: command not found. Полный журнал ошибок выглядит следующим образом:

Started by user Happycoder
Running in Durability level: MAX_SURVIVABILITY
[Pipeline] node
Running on Jenkins in /Users/Shared/Jenkins/Home/workspace/test
[Pipeline] {
[Pipeline] sh
[test] Running shell script
+ docker inspect -f . node
/Users/Shared/Jenkins/Home/workspace/test@tmp/durable-20ded4c0/script.sh: line 2: docker: command not found
[Pipeline] sh
[test] Running shell script
+ docker pull node
/Users/Shared/Jenkins/Home/workspace/test@tmp/durable-ebdc1549/script.sh: line 2: docker: command not found
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
ERROR: script returned exit code 127
Finished: FAILURE

Почему это происходит? В документации Jenkins им дан только этот синтаксис и больше ничего не сказано.

1 Ответ

0 голосов
/ 14 мая 2018

Я думаю, что следующий раздел не является правильным:

agent {
  docker 'node'
}

Эта команда попытается запустить контейнер Docker, связанный с меткой 'node'.

Если вы хотите протестировать декларативный конвейер, попробуйте этот синтаксис (если вы хотите построить проект Maven):

agent {
  docker {
    image 'maven:3.5.0-jdk-8'
  }
}

К вашему сведению, вы можете найти множество примеров конвейера здесь .

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