在哈德逊执行build立任务与根privilic

我有一个执行apt-get的构build脚本,因此需要root权限。 在哈德森运行这个脚本的最好方法是什么?

目前唯一的解决scheme,我发现的作品是添加一个条目的sudoers文件为用户哈德森像这样:

hudson ALL=(ALL) NOPASSWD:ALL 

但是,尽pipe我的构build脚本现在在Hudson中运行时没有错误,但我对这个解决scheme并不完全熟悉。 有没有更好的办法?

我进一步,lockingapt-get我locking什么参数,你可以使用,因为我们不希望有人安装或删除的东西。

 %admins ALL = NOPASSWD: \ /usr/bin/apt-get update, \ /usr/bin/apt-get dist-upgrade, \ /usr/bin/apt-get upgrade 

这使得组admins可以在不提供密码的情况下运行apt-get update / dist-upgrade / upgrade。

您可以locking允许hudson用户以root身份执行的命令; 将sudoers文件中的行更改为:

 hudson ALL=/usr/bin/apt-get NOPASSWD:ALL 

(检查apt-get二进制文件的path – 我在Fedora上运行,所以没有这个命令)