在ISPConfig上的Jenkins

时间:2013-05-14 14:21:58

标签: linux jenkins

我在ISPConfig中为我的客户提供多个域名。现在,我让Jenkins部署一个特定的项目。

Jenkins在/ var / www / myproject / web上分配了工作目录,它是ISPConfig上的VirtualHost。

手动我必须:

chown -R jenkins:nogroup /var/www/myproject/web
> Build Jenkins project
chown -R web38:client17 /var/www/myproject/web

问题:

  • 如果我向Jenkins授予sudo权限,那可以吗?
  • 而不是那样,我应该创建一个带有sudo权限的bash脚本吗?
  • 我没有注意到的任何权限角色是否正确执行此操作?

THX

1 个答案:

答案 0 :(得分:0)

这是我找到的解决方案。

在Jenkins上安装“批处理任务”模块。

使用root:root权限在/var/www/your_domain.com/jenkins-post-build.sh上创建如下脚本

#!/bin/bash
SOURCE=$1
TARGET=$2

echo Moving $SOURCE to $TARGET

rm -rf $TARGET
cp -R $SOURCE $TARGET
ln -s $TARGET/build $TARGET/public/build
chown -R web39:client11 $TARGET

使用“调用批处理tastsk”

添加Post Build操作
sudo /var/www/your_domain.com/jenkins-post-build.sh ${WORKSPACE} /var/www/your_domain.com/web

添加此脚本权限sudo权限

Cmnd_Alias HIPER_DEV    = /var/www/your_domain.com/jenkins-post-build.sh
jenkins ALL=(ALL) NOPASSWD:HIPER_DEV