我可以在一个项目目录中有多个 Python fabfiles 吗?
Can I have multiple Python fabfiles in one project directory?
我有一个项目,在我的机器上有一个本地副本,在服务器 服务器 1 上有一个远程副本。目前,我在更改本地副本时使用 Fabric 来更新远程副本。为此,fab 文件位于项目的根目录中(例如 project/fabfile.py
)。
我想在这个项目中使用 Fabric 用于第二个目的。该项目中的一个函数需要连接到不同的服务器,Server 2。我可以在包含相关代码的项目的子目录中创建第二个 fab 文件吗(例如,project/subdir/fabfile.py
)?
我是 Fabric 的新手,所以我只想确保我使用 Fabric 的方式不会导致两个 fab 文件相互干扰。
此外,因为我是 Fabric 的新手,所以我可能无法恰当地描述这种情况。如果您需要了解任何其他信息,请告诉我。
我不是 100% 确定你想达到什么目的,但这是我的想法。
您通常不需要将 fabfile
上传到远程服务器。如果您拥有需要部署到的所有机器的密钥,那就更好了。您可以使用 hosts or roles 来操作它们。
如果还可以对具有 -f command line argument 的不同机器使用不同的 fabfile
。
如果我误解了你,请告诉我。
我了解到对于一个项目来说,一个 fab 文件就足够了。相反,最好有一个单独的 fab 文件来定义多个函数,每个函数使用不同的服务器。 Fabric documentation 提供了几种方法来执行此操作,具体取决于用户的具体需求。
就我而言,我将我的单个 fab 文件修改为如下所示:
@hosts(server1)
def server1_task():
...
@hosts(server2)
def server2_task():
...
您可以放置多个 python 文件用于 fabric 但您只需使用 -f
.
调用它
例如:
fab -f fabfile2 server2_task`
这对于存储具有不同用途的 fab 文件可能很有用
我有一个项目,在我的机器上有一个本地副本,在服务器 服务器 1 上有一个远程副本。目前,我在更改本地副本时使用 Fabric 来更新远程副本。为此,fab 文件位于项目的根目录中(例如 project/fabfile.py
)。
我想在这个项目中使用 Fabric 用于第二个目的。该项目中的一个函数需要连接到不同的服务器,Server 2。我可以在包含相关代码的项目的子目录中创建第二个 fab 文件吗(例如,project/subdir/fabfile.py
)?
我是 Fabric 的新手,所以我只想确保我使用 Fabric 的方式不会导致两个 fab 文件相互干扰。
此外,因为我是 Fabric 的新手,所以我可能无法恰当地描述这种情况。如果您需要了解任何其他信息,请告诉我。
我不是 100% 确定你想达到什么目的,但这是我的想法。
您通常不需要将 fabfile
上传到远程服务器。如果您拥有需要部署到的所有机器的密钥,那就更好了。您可以使用 hosts or roles 来操作它们。
如果还可以对具有 -f command line argument 的不同机器使用不同的 fabfile
。
如果我误解了你,请告诉我。
我了解到对于一个项目来说,一个 fab 文件就足够了。相反,最好有一个单独的 fab 文件来定义多个函数,每个函数使用不同的服务器。 Fabric documentation 提供了几种方法来执行此操作,具体取决于用户的具体需求。
就我而言,我将我的单个 fab 文件修改为如下所示:
@hosts(server1)
def server1_task():
...
@hosts(server2)
def server2_task():
...
您可以放置多个 python 文件用于 fabric 但您只需使用 -f
.
例如:
fab -f fabfile2 server2_task`
这对于存储具有不同用途的 fab 文件可能很有用