织物:做任何事都要像我们一样

2024-10-01 15:39:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我的构建和生产部署是通过一个特定于用户的用户使用密钥连接的,该用户在整个部署中共享该密钥,并在机器启动期间复制密钥。在

这个用户部署拥有共享的ssh密钥,允许ssh访问任何prod机器以及它们之间的ssh。在

现在,我的fabric构建以userJenkins的身份运行。在

如何指示fabric以特定用户的身份执行所有操作(在本例中是部署?相当于sudo su deploy

我不想在每个任务中都做prefixwith。而是设置一个全局变量。在

詹金斯是轮盘组的,烫发是sudo


Tags: 用户机器prefix部署withsudo密钥身份
1条回答
网友
1楼 · 发布于 2024-10-01 15:39:23

如果我正确理解您的问题,您希望以另一个用户的身份执行命令,而不使用prefix或with。在

sudo函数接受一个可以是全局变量的用户。在

从文件中:

fabric.operations.sudo(command, shell=True, pty=True, 
                       combine_stderr=True, user=None, 
                       quiet=False, stdout=None, stderr=None)

你可以简单地调用你的任务

^{pr2}$

并将sudouser设置为“deploy”到其他地方。在

事实上,这与使用上下文没有什么不同:

with settings(sudo_user=sudouser):
      sudo(command)

在这两种情况下,您都应该能够全局更改sudo\u用户。在

相关问题 更多 >

    热门问题