0
對於我使用git和Fabric部署的幾個Web項目,我有時需要執行特定的任務。部署的特定任務提醒
例子:
- 手動遷移到運行
- 廠商更新
- 後臺任務添加
- 等...
有一些任務,我故意別不自動,因爲很不尋常。
我正在考慮管理存儲庫中檢查的TODO文件,我會從我的fabfile中讀取這些文件,以提醒我在部署之前或之後與新版本相關的具體事情。
是否有一種常見方式來管理這些特定於部署的提醒?
對於我使用git和Fabric部署的幾個Web項目,我有時需要執行特定的任務。部署的特定任務提醒
例子:
有一些任務,我故意別不自動,因爲很不尋常。
我正在考慮管理存儲庫中檢查的TODO文件,我會從我的fabfile中讀取這些文件,以提醒我在部署之前或之後與新版本相關的具體事情。
是否有一種常見方式來管理這些特定於部署的提醒?
下面是我用(直到我找到更好的)解決方案
隨着面料:
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 !