2

抱歉这个小问题:我管理多个项目,每个项目都部署或与一台或多台服务器交互。

我在家里维护我的主要fabric.py。现在,由于项目每天都来来去去,有没有办法用 Fabric(或其他系统)定义每个项目的设置,但不是在fabric.py? 我知道roledefs在 Fabric 中,但我真的想将 Fabric defs 与服务器访问数据分开。

例如

主fabfile

/home/fradeve/fabric.py

def deploy():
    some commands
    pass

项目目录

/home/fradeve/projects
  |
  |--> project1/.fabricrc
  |--> project2/.fabricrc
  \--> project3/.fabricrc

启动项目时,它应该读取自己的.fabricrc,读取服务器设置并相应地部署。

问题是我通常在主项目目录(project1)中工作,并且使用项目目录之外的 fabfile 启动 Fabric(在家里)会给我一个错误。

关于如何管理的任何提示?

4

1 回答 1

0

我最终编写了自己的脚本来处理这个问题。

Alexey Bezhan 的奇妙 fabfile 开始,我添加了 Vagrant 支持和一个为新项目创建所有需要的文件的功能(.vimrcVagrantfile.gitignore等)。

每个项目服务器都在每个项目中定义server_config.yaml,具有易于定制的选项。所有功能都记录在脚本中,希望这对某人有用。我的脚本增强版在这里

于 2013-04-27T12:37:00.590 回答