В Ansible, когда у меня есть постоянная задача получить код из репозитория, всегда срабатывает уведомление:

- name: Deploy code from BitBucket
  hg: repo=https://bitbucket.org/user/repo
      dest=/home/user/code
      purge=yes
  notify:
    - restart server 

Можно ли предотвратить его запуск, если в репозитории нет новых наборов изменений?

1
neves 3 Окт 2013 в 05:06

1 ответ

Лучший ответ

Вероятно, этого не происходит, потому что вы установили purge=yes.

Заглянув в исходный код модуля hg, можно увидеть, что изменение уведомление будет запущено, когда есть набор изменений или репозиторий был очищен:

#line 268
if before != after or cleaned:
    changed = True

Для модуля hg очищенный репозиторий - это репозиторий, который был очищен или принудительно обновлен (force=yes):

#line 256
cleaned = hg.cleanup(force, purge)

Так что вам просто нужно удалить purge=yes и, возможно, избавиться от неотслеживаемых файлов самостоятельно.

1
Renan Ivo 7 Ноя 2013 в 00:10
Валеу! Не могу поверить, что не видел этого.
 – 
neves
9 Ноя 2013 в 07:05