Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker 如何解决jenkins npm安装权限被拒绝的问题_Docker_Jenkins_Npm - Fatal编程技术网

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'