Я управляю Дженкинс-мастером и слэйвом как контейнер докеров.Я настроил подчиненный узел, используя образ jenkins / ssh-slave с меткой 'worker'.Я могу успешно запустить свой конвейер на рабочем узле.Однако, когда я пытаюсь запустить команду сборки docker с помощью Jenkinsfile, я получаю сообщение об ошибке docker: not found
.
pipeline {
agent { label 'worker' }
tools {nodejs "node"}
stages {
stage ('Build APP') {
steps {
echo 'BUILDING APPLICATION'
sh 'npm install'
}
}
stage ('Create Package') {
steps {
script{
echo 'BUILDING DOCKER IMAGE'
docker.build("package${env.BUILD_NUMBER}")
}
}
}
stage('Package Test') {
agent { docker }
steps {
echo 'RUNNING IMAGE IN CONATAINER'
sh "docker run -p 5050:4000 -d package${env.BUILD_NUMBER}"
echo 'CHECKING HEALTH STATUS'
script {
try {
sh "curl -s --head --request GET http://127.0.0.1:5050/ | grep '200'"
echo 'Health Check Passed!'
} catch(Exception e) {
echo "Health Check Failed!"
}
}
}
}
В третьем шаге «тестирование пакета» я поместил в файл агентский докер, но онне похоже на работу.Как поместить агент докер в декларативный конвейер?