Bamboo 3.1.1 ручное управление зависимостями / функция блокировки зависимостей не работает должным образом?
Мы используем Bamboo в качестве нашей среды CI и имеем несколько зависимостей сборки (используя ручное управление зависимостями и функцию блокировки зависимостей). Мы используем SVN-опрос в качестве нашей стратегии сборки со всеми проектами с одинаковой частотой.
Предположим, у нас есть следующая структура плана сборки:
- исходный план сборки PA для проекта A,
- дочерний план сборки CB для проекта B зависит от PA, выбрав в качестве стратегии блокировки зависимостей "Блокировать сборку, если в родительских планах есть незавершенные изменения"
Наша цель - настроить дерево зависимостей так, чтобы:
- если проект B должен быть построен, сначала проверьте, есть ли изменения в A, и если да, сначала соберите PA и заблокируйте CB, возобновите CB, как только PA закончил
- сделать это как для ручной, так и для автоматической сборки (сборки, запущенные в результате опроса SVN)
Описанная выше цель, по-видимому, как раз и предназначена для функции блокировки зависимостей (см. http://confluence.atlassian.com/display/BAMBOO/Setting+up+Build+Dependencies). Однако у меня либо есть ошибка конфигурации, либо я неправильно понимаю эту функцию.
Чтобы проверить, я построил следующий случай:
- создать класс DummyClassA в A
- создайте класс DummyClassB в B, который ссылается на DummyClassA, так что сначала необходимо построить проект A, чтобы проект B компилировал *, вручную вызывать CB
Я ожидал, что с помощью конфигурации, упомянутой выше, CB понимает, что в родительском проекте есть изменения, и поэтому ему необходимо заблокировать CB, построить PA и возобновить CB. Однако произошло то, что CB попытался построить и, очевидно, не удалось (ошибка компиляции), поскольку DummyClassA еще не был известен проекту B. Похоже, что нет активной проверки SVN для родительского проекта A, когда CB выполняется вручную. срабатывает, это правильно?
Что мне здесь не хватает? Я почти уверен, что должно быть простое решение, так как этот сценарий встречается практически в каждом серьезном программном проекте, поэтому я ожидаю, что Bamboo справится с этим из коробки правильно. Может кто-нибудь пролить некоторый свет на это?
Лучший, Крис