2015-10-14 56 views
0

對於我使用git和Fabric部署的幾個Web項目,我有時需要執行特定的任務。部署的特定任務提醒

例子:

  • 手動遷移到運行
  • 廠商更新
  • 後臺任務添加
  • 等...

有一些任務,我故意別不自動,因爲很不尋常。

我正在考慮管理存儲庫中檢查的TODO文件,我會從我的fabfile中讀取這些文件,以提醒我在部署之前或之後與新版本相關的具體事情。

是否有一種常見方式來管理這些特定於部署的提醒?

回答

0

下面是我用(直到我找到更好的)解決方案

隨着面料:

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 !