trombik.buildbot_worker

trombik.buildbot_worker

安装 buildbot-worker.

需求

角色变量

变量 描述 默认值
buildbot_worker_user buildbot-worker 的用户名 {{ __buildbot_worker_user }}
buildbot_worker_group buildbot-worker 的组名 {{ __buildbot_worker_group }}
buildbot_worker_package buildbot-worker 的包名 {{ __buildbot_worker_package }}
buildbot_worker_extra_packages 要安装的额外包列表 []
buildbot_worker_service buildbot-worker 的服务名 {{ __buildbot_worker_service }}
buildbot_worker_root_dir buildbot-worker 的根目录(和 $HOME 目录) {{ __buildbot_worker_root_dir }}
buildbot_worker_conf_dir 配置目录,通常与 buildbot_worker_root_dir 相同 {{ __buildbot_worker_conf_dir }}
buildbot_worker_conf_file 配置文件路径,buildbot.tac {{ buildbot_worker_conf_dir }}/buildbot.tac
buildbot_worker_config buildbot_worker_conf_file 的内容 ""
buildbot_worker_flags buildbot-worker 启动脚本的内容 ""

Debian

变量 默认值
__buildbot_worker_user buildbot
__buildbot_worker_group buildbot
__buildbot_worker_service buildbot-worker@default
__buildbot_worker_package python3-buildbot-worker
__buildbot_worker_extra_packages []
__buildbot_worker_root_dir /var/lib/buildbot
__buildbot_worker_conf_dir {{ __buildbot_worker_root_dir }}/workers/default

FreeBSD

变量 默认值
__buildbot_worker_user buildbot
__buildbot_worker_group buildbot
__buildbot_worker_service buildbot-worker
__buildbot_worker_package devel/py-buildbot-worker
__buildbot_worker_extra_packages []
__buildbot_worker_root_dir /usr/local/buildbot_worker
__buildbot_worker_conf_dir {{ __buildbot_worker_root_dir }}

OpenBSD

变量 默认值
__buildbot_worker_user _buildslave
__buildbot_worker_group _buildslave
__buildbot_worker_service buildbot_worker
__buildbot_worker_package buildbot-worker
__buildbot_worker_extra_packages []
__buildbot_worker_root_dir /var/buildslave
__buildbot_worker_conf_dir {{ __buildbot_worker_root_dir }}

依赖

示例剧本

---
- hosts: localhost
  roles:
    - name: trombik.freebsd_pkg_repo
      when: ansible_os_family == 'FreeBSD'
    - ansible-role-buildbot_worker
  vars:
    os_buildbot_worker_flags:
      FreeBSD: |
        buildbot_worker_basedir="{{ buildbot_worker_conf_dir }}"
      # "
      Debian: |
        #WORKER_RUNNER=/usr/bin/buildbot-worker

        # 在 WORKER_ENABLED 中使用 'true|yes|1' 来启用实例,使用 'false|no|0' 来
        # 禁用。其他值将被视为语法错误。

        WORKER_ENABLED[1]=1                    # 1-启用,0-禁用
        WORKER_NAME[1]="default"               # 启动/停止时打印的短名称
        WORKER_USER[1]="buildbot"              # 运行工人的用户
        WORKER_BASEDIR[1]="{{ buildbot_worker_conf_dir }}"  # 工作目录(绝对路径)
        WORKER_OPTIONS[1]=""                   # buildbot 选项
        WORKER_PREFIXCMD[1]=""                 # 前缀命令,例如 nice, linux32, dchroot
    # "

    buildbot_worker_flags: "{{ os_buildbot_worker_flags[ansible_os_family] | default('') }}"
    buildbot_worker_config: |
      import os
      from buildbot_worker.bot import Worker
      from twisted.application import service
      basedir = '{{ buildbot_worker_conf_dir }}'
      rotateLength = 10000000
      maxRotatedFiles = 10
      # 如果这是一个可重定位的 tac 文件,获取包含 TAC 的目录
      if basedir == '.':
          import os.path
          basedir = os.path.abspath(os.path.dirname(__file__))
      # 注意:该行将用于检查是否为工人
      # 目录;请勿编辑它。
      application = service.Application('buildbot-worker')
      from twisted.python.logfile import LogFile
      from twisted.python.log import ILogObserver, FileLogObserver
      logfile = LogFile.fromFullPath(
          os.path.join(basedir, "twistd.log"), rotateLength=rotateLength,
          maxRotatedFiles=maxRotatedFiles)
      application.setComponent(ILogObserver, FileLogObserver(logfile).emit)
      buildmaster_host = 'localhost'
      port = 9989
      workername = 'test-worker'
      passwd = 'pass'
      keepalive = 600
      umask = None
      maxdelay = 300
      numcpus = None
      allow_shutdown = None
      maxretries = None
      s = Worker(buildmaster_host, port, workername, passwd, basedir,
                 keepalive, umask=umask, maxdelay=maxdelay,
                 numcpus=numcpus, allow_shutdown=allow_shutdown,
                 maxRetries=maxretries)
      s.setServiceParent(application)

    # _______________________________________freebsd_pkg_repo
    # 使用我自己的包,因为 ports 中的包已损坏。
    freebsd_pkg_repo:
      FreeBSD:
        enabled: "false"
        state: present
      # 启用我自己的软件包存储库,最新的软件包可用
      FreeBSD_devel:
        enabled: "true"
        state: present
        url: "http://pkg.i.trombik.org/{{ ansible_distribution_version | regex_replace('\\.', '') }}{{ansible_architecture}}-default-default/"
        mirror_type: http
        signature_type: none
        priority: 100

许可证

版权 (c) 2019 Tomoyuki Sakurai <y@trombik.org>

特此授予使用、复制、修改和分发此软件的权利,无论是有偿还是无偿,
前提是上述版权声明和本许可声明出现在所有副本中。

本软件按原样提供,作者不对本软件的任何保证承担责任,包括所有
暗示的适销性和适用性的保证。在任何情况下,作者不对因使用、数据或
利润损失而导致的任何特殊、直接、间接或后果性损害,或由于与本软件的
使用或性能相关而引起的任何损害承担责任。

作者信息

Tomoyuki Sakurai y@trombik.org

此 README 由 qansible 创建

关于项目

Configure buildbot worker

安装
ansible-galaxy install trombik.buildbot_worker
许可证
isc
下载
195
拥有者
PGP finger print: 03EB 3D97 5E04 9B0C AB21 93A2 D693 42A9 EFBC 3577 Makerspace and Coliving in Siem Reap, Cambodia: http://info.mkrsgh.org/