Jenkins为什么不能复制这些文件?

时间:2015-07-31 01:27:06

标签: jenkins

我是詹金斯的新手。我试图让它构建一个项目,然后将工件复制到一个特定的位置。我相信我已正确设置权限,但在运行构建步骤时出现“权限被拒绝”错误。

代码是用Clojure编写的。 Jenkins正确地从Github中提取代码。然后Jenkins跑“lein uberjar”。文件已成功创建。

我有一个“执行shell”作为Jenkins的构建步骤。 shell命令是:

+ cp /var/lib/jenkins/jobs/api/workspace/target/instaphoto-0.1-standalone.jar /var/lib/jenkins/jobs/api/workspace/target/instaphoto-0.1.jar /home/jenkins/api
cp: cannot create regular file ‘/home/jenkins/api/instaphoto-0.1-standalone.jar’: Permission denied
cp: cannot create regular file ‘/home/jenkins/api/instaphoto-0.1.jar’: Permission denied
Build step 'Execute shell' marked build as failure
Sending e-mails to: developer@sunflowerforce.com
Finished: FAILURE

如果我ssh到服务器,并sudo到root,然后su到“jenkins”,我可以运行上面的命令,它完美地工作。但是,当Jenkins执行此操作时,输出包含:

groups jenkins    

如果我这样做:

jenkins : jenkins root run-server-software    

我明白了:

cd /home/jenkins
ls -al 

drwxrwx---  4 jenkins run-server-software 4096 Jul 30 20:21 .
drwxr-xr-x  8 root    root                4096 Jul 30 18:59 ..
drwxrwxr-x  2 sunflower  run-server-software 4096 Jul 31 01:06 api
drwxrwxr-x 10 sunflower  run-server-software 4096 Jul 30 19:59 nlp

如果我这样做:

events = Event.objects.filter(
    Q(date__gt=my_date) | Q(date__isnull=True)
).filter(type__in=[...]).order_by('date')

因此,jenkins属于组运行服务器软件,组运行服务器软件应该有权在api等文件夹中执行任何操作。那么为什么我得到“许可被拒绝”?

0 个答案:

没有答案
相关问题