这是我的第一个Jenkins管道项目。我创建了一个简单的Node.js应用程序,我上传到hithub(公共repo),我试图用我的Jenkinsfile做的就是在Build
阶段“npm install”。我相信詹金斯找到了Jenkinsfile
,但却找不到npm
。我使用jenkins
官方docker镜像来运行我的jenkins服务器。这是我安装的两个插件
1) NodeJS Plugin and 2) Pipeline NPM Integration Plugin
这是文件
pipeline {
agent any
stages {
stage ("Build") {
steps {
sh "npm install"
}
}
}
}
这是我在运行'Build Now'时遇到的错误 [第二个项目]运行shell脚本 + npm install
/ var / jenkins_home / workspace / second project@tmp/durable-ef33ffd4/script.sh:2:/ var / jenkins_home / workspace / second project@tmp/durable-ef33ffd4/script.sh:
npm:not found
有人可以帮忙吗?
答案 0 :(得分:0)
我想,你的npm二进制文件不在PATH变量中。 尝试指定npm的完整路径,通常是 / usr / local / bin
pipeline {
agent any
stages {
stage ("Build") {
steps {
sh "/usr/local/bin/npm install"
}
}
}
}
您可以使用命令which npm
答案 1 :(得分:0)
可能是,您已经知道了这一点。启动Jenkins容器时,您是否已将机器的文摘插槽托管在该容器中?
具体来说,您需要在docker run命令上使用-v /var/run/docker.sock:/var/run/docker.sock
。
然后在管道中,您需要在根据官方节点docker映像(例如npm
)构建的docker容器上运行node:10.11.0-alpine
。这是一个例子
pipeline {
agent {
docker {
image 'node:10.11.0-alpine'
}
}
stages {
stage ("Build") {
steps {
sh "npm install"
}
}
}
}
答案 2 :(得分:-1)
如果您在Windows上而不是尝试以管理员身份运行CMD,然后安装NPM它将对您有用