我的Dockerfile看起来像这样。
FROM mhart/alpine-node:8.11.3
RUN mkdir -p /app
COPY ./ /app
WORKDIR /app/build
RUN yarn global add serve
CMD ["serve", "-l", "3000"]
EXPOSE 3000
然后JenkinsFile看起来像这样。
node {
try {
stage('Checkout source code') {
checkout scm
}
stage('Install packages') {
sh("docker run --rm -v `pwd`:/app -w /app node yarn install")
//sh("sudo chown -R jenkins: ./node_modules")
}
stage('Set the enviroment variables') {
sh("echo set-env-variables")
}
stage('Build static assets') {
sh("docker run --rm -v `pwd`:/app -w /app node yarn build")
}
}}
当我在Jenkins上运行它时,控制台输出显示error Couldn't find a package.json file in "/app"
,即使我已经将sudo not found
添加到/ etc / sudoers文件中,它也会给出错误jenkins ALL=(ALL) NOPASSWD: ALL
。
我在终端上运行Jenkinsfile中列出的命令,它们都可以正常工作,但是当我在Jenkins上运行它们时,它们将无法工作。