Docker 如何解决jenkins npm安装权限被拒绝的问题
这是我的詹金斯档案Docker 如何解决jenkins npm安装权限被拒绝的问题,docker,jenkins,npm,Docker,Jenkins,Npm,这是我的詹金斯档案 pipeline { agent any tools {nodejs "nodejs10"} stages { stage('Test') { steps { echo 'Testing...' } } stage ('Build source') { steps { sh ''' mkdir -p .npm-glob
pipeline {
agent any
tools {nodejs "nodejs10"}
stages {
stage('Test') {
steps {
echo 'Testing...'
}
}
stage ('Build source') {
steps {
sh '''
mkdir -p .npm-global
mkdir -p _cacache
export PATH=.npm-global/bin:$PATH
npm config set prefix '.npm-global'
npm config set cache '_cacache'
npm config set jobs 1
npm config set strict-ssl false
'''
dir('e2e/test1'){
sh "$PWD"
}
sh 'npm i'
}
}
}
}
它在npm安装时失败。
我得到这个错误:
Pipeline] dir
Running in /var/jenkins_home/workspace/jenkins_docker2/e2e/test1
[Pipeline] {
[Pipeline] sh
+ /
/var/jenkins_home/workspace/jenkins_docker2/e2e/test1@tmp/durable-e0a8070a/script.sh: 1: /var/jenkins_home/workspace/jenkins_docker2/e2e/test1@tmp/durable-e0a8070a/script.sh: /: Permission denied
[Pipeline] }
[Pipeline] // dir
[Pipeline] }
我是不是遗漏了什么
我有带有node10的nodejs插件。
我已使用docker community edition在windows 10操作系统上使用docker构建jenkins,使用的卷如下:
docker run -p 81:8080 -p 50000:50000 --name myjenkins --privileged -v %cd%/jenkins:/var/jenkins_home jenkins/jenkins
好的,当我不使用dir并且将package.json文件放在根目录中时,我发现npm安装可以工作。这并没有解释为什么我通过将工作目录更改为另一个包含package.json的文件夹而被拒绝了权限,但现在我有了一个工作解决方案。我认为
dir
中没有问题,但是sh“$PWD”
,你能尝试将其更改为sh'PWD'