“脚本"Jenkinsfile中的步骤-权限被拒绝 [英] "script" step in Jenkinsfile - Permission denied

查看:80
本文介绍了“脚本"Jenkinsfile中的步骤-权限被拒绝的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

任何人都可以解释一下,为什么我会收到权限被拒绝"的信息.在脚本"中步骤?

Can anyone explain, why I'm getting "Permission denied" in "script" step ?

我以用户 vagrant 的身份运行此Jenkins作业.甚至可以打印所有信息:确实是 vagrant 用户,属于 fred 组,该组是/opt/ab/cd/tests/文件夹.但是尽管那样却无能为力,就像基本的 mkdir

I run this Jenkins job as user vagrant. Am even printing all the information: it is indeed vagrant user, belongs to fred group which is the owner of /opt/ab/cd/tests/ folder. But despite that can not do anything, like basic mkdir

stage('Run tests') {
   BDD_RESULTS = sh (
      script: '(pushd /opt/ab/cd/tests/; whoami; groups vagrant; ls -la; mkdir my_test || true; popd)',
      returnStdout: true
   )
   println "BDD=$BDD_RESULTS"
   ...
}

结果:

+ whoami
+ groups vagrant
+ ls -la
+ mkdir my_test
mkdir: cannot create directory ‘my_test’: Permission denied
+ true
+ popd
[Pipeline] echo
BDD=/opt/ab/cd/tests/ ~/.jenkins/workspace/test-build
vagrant
vagrant : vagrant redis fred
drwxrwxr-x. 4 fred fred   179 Apr  1 21:13 .
drwxrwxr-x. 7 fred fred    92 Apr  1 21:13 ..
~/.jenkins/workspace/test-build

mkdir 只是一个示例,当然,这并不完全是我尝试这样做的方式.

This mkdir is just an example, not exactly what I try to do this way, of course.

如果我在该 tests 文件夹上将权限设置为 777 ,则它可以正常工作.但我想保留 775 .

If I set permissions on that tests folder to 777, then it is working. But I would like to keep 775.

我正在使用以下命令运行Jenkins: java -jar/home/vagrant/jenkins.war&>/home/vagrant/jenkins.out&,CentOS 7.7

I'm running Jenkins with this command: java -jar /home/vagrant/jenkins.war &> /home/vagrant/jenkins.out&, CentOS 7.7

推荐答案

将脚本放置在 script 块下,然后尝试.

Place your scripts under the script block and then try.

类似这样的东西


pipeline {

   stages {
      stage('Run tests') { 
         steps { 
            script {

                  BDD_RESULTS = sh (
      script: '(pushd /opt/ab/cd/tests/; whoami; groups vagrant; ls -la; mkdir my_test || true; popd)',
      returnStdout: true
   )
   println "BDD=$BDD_RESULTS"
   ...

   }
  }
 }
}

这篇关于“脚本"Jenkinsfile中的步骤-权限被拒绝的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆