抱歉这个小问题: 我管理多个项目,每个项目都部署或与一个或多个服务器交互。
我在家里维护我的主要fabric.py。现在,由于项目每天都来来去去,有没有办法用Fabric(或其他系统)定义每个项目的设置,而不是fabric.py
?我知道Fabric中的roledefs
,但我真的想将Fabric defs与服务器访问数据分开。
e.g。
/home/fradeve/fabric.py
def deploy():
some commands
pass
/home/fradeve/projects
|
|--> project1/.fabricrc
|--> project2/.fabricrc
\--> project3/.fabricrc
启动项目时,它应该读取自己的.fabricrc
,读取服务器设置并进行相应的部署。
问题是我通常在主项目目录(project1
)中工作,并且在项目目录(主页)之外使用fabfile启动Fabric会给我一个错误。
有关如何管理的任何提示?
答案 0 :(得分:0)
我最终编写了自己的脚本来处理这个问题。
从Alexey Bezhan的奇妙fabfile开始,我添加了Vagrant支持和一个函数来为新项目创建所有需要的文件(.vimrc
,Vagrantfile
,{{1}等等)。
每个项目服务器都是在每个项目.gitignore
中定义的,具有可轻松自定义的选项。所有功能都记录在脚本中,希望这对某人有用。我的增强版脚本是here。