25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

90 lines
1.9KB

  1. {{ansible_managed|comment}}
  2. from buildbot.plugins import *
  3. c = BuildmasterConfig = {}
  4. c['workers'] = []
  5. c['workers'].append(worker.LocalWorker("local-worker",max_builds=1))
  6. c['protocols'] = {'pb': {'port': 9989}}
  7. c['change_source'] = []
  8. c['schedulers'] = []
  9. c['builders'] = []
  10. {% for builder_name in buildbot_builders.keys() %}
  11. {% set builder = buildbot_builders[builder_name] %}
  12. factory = util.BuildFactory()
  13. {% for repo in builder.repos %}
  14. {% if repo.type | default('github') == 'github' %}
  15. factory.addStep(steps.GitHub(
  16. name='{{repo.name}}',
  17. repourl='{{repo.repourl}}',
  18. mode='incremental',
  19. workdir='{{repo.workdir}}',
  20. alwaysUseLatest=True,
  21. ))
  22. {% elif repo.type == 'gitea' %}
  23. factory.addStep(steps.Gitea(
  24. name='{{repo.name}}',
  25. repourl='{{repo.repourl}}',
  26. mode='incremental',
  27. workdir='{{repo.workdir}}',
  28. branch="master",
  29. progress=True,
  30. logEnviron=False,
  31. ))
  32. {% endif %}
  33. {% endfor %}
  34. {% for cmd in builder.shell_commands %}
  35. factory.addStep(steps.ShellCommand(
  36. name='{{cmd.name}}',
  37. command='{{cmd.command}}',
  38. workdir='{{cmd.workdir}}',
  39. ))
  40. {% endfor %}
  41. c['builders'].append(
  42. util.BuilderConfig(
  43. name="{{builder_name}}",
  44. workernames=["local-worker"],
  45. factory=factory
  46. )
  47. )
  48. c['schedulers'].append(schedulers.SingleBranchScheduler(
  49. name="{{builder_name}}",
  50. change_filter=util.ChangeFilter(branch='master'),
  51. treeStableTimer=5,
  52. builderNames=['{{builder_name}}']))
  53. {% endfor %}
  54. c['services'] = []
  55. c['title'] = "buildbot title"
  56. c['titleURL'] = "https://github.com/covid-videoplattform"
  57. c['buildbotURL'] = "https://{{buildbot_server_name}}/"
  58. c['www'] = dict(
  59. port=8010,
  60. plugins = dict(
  61. waterfall_view={},
  62. console_view={},
  63. grid_view={}
  64. ),
  65. change_hook_dialects={
  66. 'github': {}
  67. },
  68. )
  69. c['db'] = {
  70. 'db_url' : "{{buildbot_database_url}}",
  71. }