2015-10-14 2 views
0

Для нескольких веб-проектов, которые я развертываю с помощью git и Fabric, иногда мне приходится выполнять определенные задачи.Специальные напоминания о задачах для развертывания

Примеры:

  • Руководство миграции для запуска
  • Продавцов обновить
  • Cron задачи добавить
  • и т.д ...

Есть некоторые задачи, которые я намеренно дон автоматизировать, потому что довольно необычно.

Я думаю об управлении файлом 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 !