Работа Дженкинса застревает при запуске образа докера в качестве агента - PullRequest
0 голосов
/ 24 октября 2019

Я установил Jenkins и Docker внутри виртуальной машины. Я использую проект конвейера Jenkins, и мой декларативный конвейер jenkins выглядит следующим образом.

pipeline {
    agent {
        docker { image 'node:7-alpine' }
    }
    stages {
        stage('Test') {
            steps {
                echo 'Hello Nodejs'
                sh 'node --version'
            }
        }
    }
}

Это очень простой конвейер, следующий по этой ссылке https://jenkins.io/doc/book/pipeline/docker/

Когда я пытаюсь построить свою работу jenkins, она печатает Hello Nodejs, но застревает при следующей инструкции, т.е. выполнение команды оболочки. Через 5 минут задание завершается с ошибкой

process apparently never started in /var/lib/jenkins/workspace/MyProject@tmp/durable-c118923c
(running Jenkins temporarily with -Dorg.jenkinsci.plugins.durabletask.BourneShellScript.LAUNCH_DIAGNOSTICS=true might make the problem clearer)
ERROR: script returned exit code -2

Я не понимаю, почему оно не выполняет команду sh.

Это снимок экрана вывода консоли

Если я сделаю это как agent any, он выполнит команду sh.

Заранее спасибо.

1 Ответ

0 голосов
/ 26 октября 2019

Я не уверен, что это поможет, но я помню, что образ узла запускается под учетной записью root по умолчанию. Jenkins использует свой собственный идентификатор при запуске контейнера. Так что, возможно, это проблема с разрешениями. Попробуйте добавить -u 0 аргумент:

agent {
    docker {
        image 'node:7-alpine'
        args '-u 0'
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...