Jenkins - env: 'node': нет такого файла или каталога
У меня есть сервер jenkins, который настроен с использованием https://github.com/shierro/jenkins-docker-examples/tree/master/05-aws-ecs
Я запускаю трубопровод с синим океаном, используя простой Jenkinsfile и плагин jenkins NodeJS
pipeline {
agent any
tools {
nodejs 'node10'
}
stages {
stage ('Checkout Code') {
steps {
checkout scm
}
}
stage ('Install dependencies') {
steps {
sh "echo $PATH"
sh "npm install"
}
}
}
}
Я убедился, чтобы добавить глобальный инструмент node10, а W / C используется выше
Когда конвейер попадает в сценарий sh "npm install"
я пробегаю эту ошибку
так что я думаю, что это не проблема пути
Кроме того, он также не смог добавить глобальный пакет
Больше информации, которая может помочь:
- Докер Дженкинс сервер:
FROM jenkins/jenkins:2.131-alpine
- Версия с синим океаном: 1.7.0
- Плагин NodeJS: 1.2.6
- Несколько серверов уже перезагружается
Есть идеи, почему сервер jenkins не знает, где находится узел?
Большое спасибо заранее!
1 ответ
Спасибо @JoergS за понимание! Виновником в этом случае является: использование альпийского изображения в качестве основы докера. Так что переход от jenkins/jenkins:2.131-alpine
в jenkins/jenkins:2.131
решил проблему с плагином NodeJS.
Я столкнулся с той же проблемой с jenkinsci/blueocean. Я решил это, установив nodejs с приведенной ниже командой (внутри Docker), а не как плагин jenkins
apk add nodejs
Я столкнулся с той же проблемой с jenkinsci/blueocean. Плагин jenkins nodejs не требуется.
pipeline {
agent any
stages {
stage ('Checkout Code') {
steps {
checkout scm
}
}
stage ('Install dependencies') {
steps {
sh "apk add nodejs"
sh "echo $PATH"
sh "npm install"
}
}
}
}
Сделайте символьную ссылку вот так:
sudo ln -s /var/lib/jenkins/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/node/bin/node /usr/bin/node
Я хочу выделить комментарий Митча Дауни, это не может быть просто комментарий, потому что после того, как я провел 4 часа без решения, этот комментарий помог мне найти решение.
Моя проблема в конечном итоге была связана с изображением jenkinsci/blueocean. Мне удалось просто заменить это изображение на jenkins/jenkins:lts, и плагин NodeJS начал работать, как ожидалось.