每个项目的Fabric设置,如何?

时间:2013-04-23 19:02:06

标签: python deployment fabric

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

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

e.g。

主要fabfile

/home/fradeve/fabric.py

def deploy():
    some commands
    pass

项目的目录

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

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

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

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

1 个答案:

答案 0 :(得分:0)

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

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

每个项目服务器都是在每个项目.gitignore中定义的,具有可轻松自定义的选项。所有功能都记录在脚本中,希望这对某人有用。我的增强版脚本是here