У меня есть фабрика, которую я использую в нескольких билдерах, и я устанавливаю специфические настройки билдера через util.Property
и util.Interpolate
. Хотя это прекрасно работает для repourl
и branch
, это просто не работает для codebase
. Следующий фрагмент кода показывает шаг исходного кода, как я хотел бы использовать его в моей конфигурации Buildbot.
factory.addStep(
steps.Git(repourl=util.Interpolate('git://repo_base_path/%(prop:build_repository)s', default=''),
branch=util.Property('build_branch', default='master'),
mode='full',
codebase=util.Interpolate('%(prop:build_repository)s', default=''),
method='copy', submodules=True, clobberOnFailure=True)
)
)
Без кодовой части все работало нормально. Затем я подумал, что в некоторых случаях мне нужно будет установить кодовую базу, поэтому я добавил строку кодовой базы, что привело к следующей ошибке:
[-] Configuration Errors:
[-] error while parsing config file: sequence item 1: expected
string, Interpolate found traceback in logfile
Кто-нибудь знает, почему нельзя установить codebase
через Interpolate, тогда как то же самое можно сделать с repourl
? Есть ли у кого-нибудь идея, как установить кодовую базу для исходного шага на что-то отличное от '' и при этом не создавать отдельный экземпляр фабрики для каждого сборщика?
Любое понимание этого и любое полезное предложение высоко ценятся.
Property
иInterpolate
были в пакетеbuildbot.process.properties
, по крайней мере, они были в различных версиях за последние несколько лет. Как вы добираетесь до них черезutil
? - person doshea   schedule 29.05.2015from builbot.plugins import steps, util
, а затем обращаться к шагам через пространство именsteps
и, например,Properties
через утил. Так что в данном случае util относится не кbuildbot.utils
, а кbuildbot.plugins.util
. Извините, что эта информация отсутствует в моем вопросе. - person Tyrnan   schedule 29.05.2015