擅长:python、mysql、java
<p>正如我在上面的评论中所说,使用<em>use-ssh\u-config</em>变量效果很好。但是,如果您使用密码进行SSH,Fabric当前无法处理每主机/每个用户/每个密码的连接(这是正常的,因为使用SSH密码被认为是不安全的)</p>
<p>这就是为什么我深入研究了Fabric的源代码,并添加了新的“特性”。<a href="https://github.com/mourtisma/fabric" rel="nofollow noreferrer">Here</a>是我的存储库,如果你想看看的话。基本上,我使用了<code>env.roledefs</code>变量,它将角色作为字典条目列出。每个角色都有一个主机、用户和密码的列表。现在,如果要在一个或多个主机(具有不同的用户名和密码)中执行任务,有两种方法可以执行:</p>
<ul>
<li>用修饰符<code>@complete_roles('role1',
'role2')</code>注释任务</li>
<li>使用函数<code>execute(task, complete_roles=['role1', 'role2'])</code></li>
</ul>
<p>只要确保在<code>env.roledefs</code>中有'role1'和'role2'作为键</p>
<p>如果你想知道更多关于我的贡献的信息,只需检查两个最新的提交。我知道,我的代码不是最干净的。。。在</p>