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
    # 自分のパッケージを使用するのは、ポートにあるものが壊れているためです。
    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

ライセンス

Copyright (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/