Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.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
Linux 詹金斯谈ISPConfig_Linux_Jenkins - Fatal编程技术网

Linux 詹金斯谈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

我正在使用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 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