trombik.buildbot_worker

trombik.buildbot_worker

Instala buildbot-worker.

Requisitos

Ninguno

Variables del Rol

Variable Descripción Predeterminado
buildbot_worker_user nombre de usuario de buildbot-worker {{ __buildbot_worker_user }}
buildbot_worker_group nombre de grupo de buildbot-worker {{ __buildbot_worker_group }}
buildbot_worker_package nombre del paquete de buildbot-worker {{ __buildbot_worker_package }}
buildbot_worker_extra_packages lista de paquetes adicionales a instalar []
buildbot_worker_service nombre del servicio de buildbot-worker {{ __buildbot_worker_service }}
buildbot_worker_root_dir directorio raíz (y directorio $HOME) de buildbot-worker {{ __buildbot_worker_root_dir }}
buildbot_worker_conf_dir directorio de configuración, generalmente el mismo que buildbot_worker_root_dir {{ __buildbot_worker_conf_dir }}
buildbot_worker_conf_file ruta al archivo de configuración, buildbot.tac {{ buildbot_worker_conf_dir }}/buildbot.tac
buildbot_worker_config contenido de buildbot_worker_conf_file ""
buildbot_worker_flags contenido del script de inicio para buildbot-worker ""

Debian

Variable Predeterminado
__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

Variable Predeterminado
__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

Variable Predeterminado
__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 }}

Dependencias

Ninguna

Ejemplo de Playbook

---
- 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

        # Valores 'true|yes|1' en WORKER_ENABLED para habilitar instancia y 'false|no|0' para
        # deshabilitar. Otros valores se considerarán como error de sintaxis.

        WORKER_ENABLED[1]=1                    # 1-habilitado, 0-deshabilitado
        WORKER_NAME[1]="default"               # nombre corto que se imprime al iniciar/detener
        WORKER_USER[1]="buildbot"              # usuario con el que se ejecuta el trabajador
        WORKER_BASEDIR[1]="{{ buildbot_worker_conf_dir }}"  # directorio base para el trabajador (ruta absoluta)
        WORKER_OPTIONS[1]=""                   # opciones de buildbot
        WORKER_PREFIXCMD[1]=""                 # comando de prefijo, es decir, 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
      # si este es un archivo tac relocatable, obtén el directorio que contiene el TAC
      if basedir == '.':
          import os.path
          basedir = os.path.abspath(os.path.dirname(__file__))
      # nota: esta línea se utiliza para comprobar que este es un directorio de trabajador
      # no la edites.
      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
    # usa mis propios paquetes porque los de ports han estado rotos.
    freebsd_pkg_repo:
      FreeBSD:
        enabled: "false"
        state: present
      # habilita mi propio repositorio de paquetes, donde el último paquete está
      # disponible
      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

Licencia

Copyright (c) 2019 Tomoyuki Sakurai <[email protected]>

Se otorga permiso para usar, copiar, modificar y distribuir este software para cualquier
propósito, con o sin cargo, siempre que el aviso de derechos de autor anterior y este aviso de
permiso aparezcan en todas las copias.

EL SOFTWARE SE PROPORCIONA "COMO ESTÁ" Y EL AUTOR RENUNCIA A TODAS LAS GARANTÍAS
CON RESPECTO A ESTE SOFTWARE, INCLUYENDO TODAS LAS GARANTÍAS IMPLÍCITAS DE
COMERCIALIZACIÓN Y APTITUD. EN NINGÚN CASO EL AUTOR SERÁ RESPONSABLE DE NINGÚN DAÑO ESPECIAL, DIRECTO, INDIRECTO O CONSECUENTE, O DE NINGÚN DAÑO
QUE SURJA DE LA PÉRDIDA DE USO, DATOS O BENEFICIOS, YA SEA EN UNA
ACCION DE CONTRATO, NEGLIGENCIA U OTRA ACCIÓN TORTICERA, QUE SURJA DE O EN RELACIÓN CON EL USO O RENDIMIENTO DE ESTE SOFTWARE.

Información del Autor

Tomoyuki Sakurai y@trombik.org

Este README fue creado por qansible

Acerca del proyecto

Configure buildbot worker

Instalar
ansible-galaxy install trombik.buildbot_worker
Licencia
isc
Descargas
195
Propietario
PGP finger print: 03EB 3D97 5E04 9B0C AB21 93A2 D693 42A9 EFBC 3577 Makerspace and Coliving in Siem Reap, Cambodia: http://info.mkrsgh.org/