【问题标题】:Per-project Fabric settings, how?每个项目的结构设置,如何?
【发布时间】:2013-04-23 19:02:06
【问题描述】:

对不起,这个琐碎的问题: 我管理多个项目,每个项目都部署或与一台或多台服务器交互。

我在家里维护我的主要 fabric.py。现在,由于项目每天都来来去去,有没有办法用 Fabric(或其他系统)定义每个项目的设置,但不是在 fabric.py 中?我知道 Fabric 中的 roledefs,但我真的想将 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(在家里)会给我一个错误。

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

【问题讨论】:

  • 我已经解决了在使用this comment 中的代码发出fab 命令时加载.fabricrc 的问题。似乎fabricrc 默认情况下没有加载,因为可以想象阅读文档。

标签: python deployment fabric


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-16
    • 1970-01-01
    • 2020-01-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多