【发布时间】:2016-12-04 05:10:00
【问题描述】:
我对 Rundeck 很陌生,并且正在评估它是否可以替代 Jenkins 来运行我们的临时操作任务。
我们在 Rundeck 服务器上有所有需要以特定用户身份运行的命令和脚本,例如:ubuntu。
我尝试在 /etc/rundeck/framework.properties (framework.ssh.user=ubuntu) 和 /var/rundeck 等地方更改配置/projects/myproject/etc/resources.xml(为本地节点设置 username="ubuntu")但我的工作总是以用户“rundeck”的身份运行,一开始这很令人沮丧我认为实现这一点应该很简单。
那么,我是否遗漏了什么,或者 Rundeck 无法以与“rundeck”不同的用户身份在本地运行脚本?
更新: 我现在找到了一个解决方案,那就是使用脚本步骤,然后在高级选项调用字符串中我可以设置为“sudo -u ubuntu”,这样我的脚本就可以从 rundeck 作为 ubuntu 运行。
但是,使用该 sudo 仍然不是很方便,例如环境变量保留问题。
【问题讨论】:
-
您可以让脚本自行运行并与所需的用户一起运行吗?
-
@Fabio 实际上我们必须将它作为“ubuntu”运行,以便与我们正在使用的其他工具和框架兼容。我们有很多脚本或命令可能会调用其他工具——这使得它们都需要切换到 ubuntu 本身,这对我们来说不是一个选择。
-
拥有一个像 Ubuntu 一样运行其他脚本的脚本怎么样?您可以将原始脚本作为第一个参数传递,并将其他参数作为以下参数传递。这更现实吗?