![]() |
1
128
为此,我为每个环境声明一个实际函数。例如:
…以及要部署到生产中的以下各项:
这样做的好处是
|
![]() |
2
77
使用 roledefs
|
![]() |
3
49
|
![]() |
4
21
不能 在内部 一项任务。每个任务执行N次,每个指定的主机执行一次,因此设置基本上不在任务范围内。 查看上面的代码,您可以简单地执行以下操作:
它似乎能达到你的目的。
|
![]() |
5
18
由于fab1.5,这是一种动态设置主机的方法。 http://docs.fabfile.org/en/1.7/usage/execution.html#dynamic-hosts
|
![]() |
6
10
与其他一些答案相反,它
是
可以修改
不将子任务包装到
|
![]() |
7
9
你需要设置
|
![]() |
8
9
绝妙的 正在利用库运行主机列表上的任务。如果您尝试更改任务中的主机列表,则在迭代时本质上是在尝试更改列表。或者,在没有定义主机的情况下,循环一个空列表,在这个空列表中,将列表设置为循环的代码从未执行过。
或
其中,暂存和生产类似于您给定的任务,但它们本身并不调用下一个任务。它必须这样工作的原因是,任务必须完成并跳出循环(主机的循环,在env的情况下为None,但此时为一个循环),然后在主机上重新进行循环(现在由前面的任务定义)。 |
![]() |
9
3
|
![]() |
10
3
很简单。只需初始化env.host\u字符串变量,以下所有命令都将在此主机上执行。
|
![]() |
11
3
我对fabric完全陌生,但是要让fabric在多个主机上运行相同的命令(例如,在一个命令中部署到多个服务器),您可以运行:
哪里 暂存服务器 生产服务器 是要对其运行部署操作的2台服务器。下面是一个简单的fabfile.py,它将显示OS名称。请注意,fabfile.py应该位于运行fab命令的目录中。
这至少适用于fabric 1.8.1。 |
![]() |
12
3
因此,要设置主机并使命令在所有主机上运行,必须从以下几点开始:
什么将在PROD函数中列出的所有服务器上运行部署任务,因为它在运行任务之前设置了env.hosts。 |
![]() |
13
2
您可以分配给
不幸的是,对于你和我来说,织物并不是为这个用例设计的。查看
|
![]() |
14
2
下面是另一个“summersault”模式,它支持
使用这种模式,我们只需使用字典定义一次环境。
缺点是,如前所述,添加
注:我们使用
机密.config.py
|
![]() |
15
0
使用角色目前被认为是“正确”和“正确”的方法,也是你“应该”做的。 也就是说,如果你像大多数人一样,你“想要”或“渴望”的是执行“扭曲系统”或在飞行中切换目标系统的能力。 所以仅用于娱乐目的(!)下面的例子说明了许多人可能会认为是一种冒险的,但却完全令人满意的策略,它是这样的:
然后运行:
|
![]() |
Meny Issakov · 结构、@并行和动态变化的主机 10 年前 |
![]() |
Yogesh Mangaj · 如何从Fabric的本地命令捕获stderr? 12 年前 |
![]() |
CoatedMoose · 有没有办法指定结构中可用命令的顺序? 12 年前 |