Linux 詹金斯谈ISPConfig
我正在使用ISPConfig为我的客户端提供多个域。现在,我让詹金斯部署一个特定的项目 Jenkins在/var/www/myproject/web上分配了工作目录,它是ISPConfig上的虚拟主机 我必须:Linux 詹金斯谈ISPConfig,linux,jenkins,Linux,Jenkins,我正在使用ISPConfig为我的客户端提供多个域。现在,我让詹金斯部署一个特定的项目 Jenkins在/var/www/myproject/web上分配了工作目录,它是ISPConfig上的虚拟主机 我必须: chown -R jenkins:nogroup /var/www/myproject/web > Build Jenkins project chown -R web38:client17 /var/www/myproject/web 问题: 如果我授予Jenkins sud
chown -R jenkins:nogroup /var/www/myproject/web
> Build Jenkins project
chown -R web38:client17 /var/www/myproject/web
问题:
- 如果我授予Jenkins sudo权限可以吗
- 相反,我应该创建一个具有sudo权限的bash脚本吗
- 是否有我没有注意到的权限角色可以正确执行此操作
这就是我找到的解决方案 在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
使用“调用批处理tasksk”添加生成后操作
添加此脚本权限sudo权限
Cmnd_Alias HIPER_DEV = /var/www/your_domain.com/jenkins-post-build.sh
jenkins ALL=(ALL) NOPASSWD:HIPER_DEV
Cmnd_Alias HIPER_DEV = /var/www/your_domain.com/jenkins-post-build.sh
jenkins ALL=(ALL) NOPASSWD:HIPER_DEV