部署的具体任务提醒

时间:2015-10-14 09:34:46

标签: python git deployment fabric

对于我使用git和Fabric部署的几个Web项目,我有时会有特定的任务要做。

示例:

  • 手动迁移以运行
  • 要更新的供应商
  • 要添加的Cron任务
  • 等...

有些任务我故意不会自动化,因为很不寻常。

我正在考虑管理在存储库中检查的TODO文件,我将从fabfile中读取该文件,以提醒我在部署之前或之后与新版本相关的特定事项。

是否有一种管理这些特定于部署的提醒的常用方法?

1 个答案:

答案 0 :(得分:0)

这是我使用的解决方案(直到我找到更好的方式)

使用Fabric:

from fabric.colors import red
from os.path import isfile

def dontforget(force=False):
    if not force and isfile('TODO'):
        print(red("/* TODO ************************/"))
        local('cat TODO')
        print(red("/*******************************/"))
        exit(0)
    print(green("Ok I'm good"))

从我的主deploy函数

调用
def deploy(force=False):
    dontforget(force)
    print(green("Let's deploy that awesome version !"))
    pushpull()
    cacheclear()
# ...

如果存在TODO文件,则会显示该文件,程序将停止

$ fab deploy
/* TODO ************************/
- Do this
- Do that
/*******************************/

$ fab deploy:force
Ok I'm good
Let's deploy that awesome version !