#python #continuous-integration #buildbot
#python #непрерывная интеграция #buildbot
Вопрос:
Моя цель — настроить buildbot, который прослушивает веб-ссылки с сервера github, а затем создает репозиторий, указанный в webhook, с помощью общей make all
команды.
Проблема, с которой я сталкиваюсь, заключается в том, что она появляется на этапах сборки, мне нужно заранее указать репозиторий github, т. Е.
factory.addStep(
steps.GitHub(
repourl= "github.<domain>.com/<user>/<repo>/",
mode='full',
method='clobber'
)
)
В идеале я хотел бы иметь возможность извлекать URL-адрес репозитория из http-запроса (очевидно, проверяя его перед слепым запуском кода), а затем проверять его. Что-то вроде:
factory.addStep(
steps.GitHub(
repourl= request["repo_url"],
mode='full',
method='clobber'
)
)
Возможно ли это в среде buildbot? Мы были бы весьма признательны за любые советы или дополнительную документацию для ознакомления!!
Комментарии:
1. Может быть, подойдет что-то вроде этого: docs.buildbot.net/current/manual/configuration/… И / ИЛИ docs.buildbot.net/current/manual/configuration /…
2. Это кажется правильным, но я не могу понять, как получить подробную информацию об исходном webhook в объекте свойств сборки
3. Проверьте метод запроса на извлечение дескриптора: github.com/buildbot/buildbot-contrib/blob/master/master/contrib /…
Ответ №1:
Просто закройте, кто-нибудь еще сталкивался с этим, я нашел два потенциальных решения. Во-первых, в webhook есть недокументированная опция, которая позволяет добавлять всю информацию HTTP-запроса в объект properties:
'www' : {
...
"change_hook_dialects" : {'github': {"github_property_whitelist": "*"}},
...
}
Затем это дает вам доступ ко всей информации о http-запросе на этапах планировщика / компоновщика. Затем вы также можете получить информацию о свойствах на этапе build_steps, используя свойства util, т.Е.
factory.addStep(
steps.GitHub(
repourl= util.Property('repository'),
mode='full',
method='clobber',
submodules=True
)
)