Tabla de contenidos
ToggleIntroducción
Buildbot es un sistema de integración continua basado en Python para automatizar los procesos de compilación, prueba y lanzamiento de software. En el tutorial de requisitos previos, Cómo instalar Buildbot en Ubuntu 16.04, creamos un buildbot
usuario y un grupo, instalamos el buildmaster en /home/buildbot/master
y el worker en /home/buildbot/worker
y luego iniciamos manualmente los procesos del nuevo usuario.
En este tutorial, crearemos archivos de unidad systemd para que el sistema de inicio del servidor pueda administrar los procesos de Buildbot.
Prerrequisitos
Un servidor Ubuntu 16.04 con al menos 1 GB de RAM , configurado con un usuario no root sudo
y un firewall siguiendo la guía de configuración inicial del servidor Ubuntu 16.04 con Buildbot instalado y configurado utilizando la siguiente guía:
- Cómo instalar Buildbot en Ubuntu 16.04
Una vez que haya completado estos requisitos, estará listo para comenzar.
Paso 1: Detener los servicios en ejecución
Primero, si todavía estás conectado como el buildbot
usuario del tutorial anterior, escribe exit
para volver al sudo
usuario.
Como sudo
usuario, nos aseguraremos de que Buildmaster esté detenido:
- sudo buildbot stop /home/buildbot/master
Luego, nos aseguraremos de que el trabajador también se detenga:
- sudo buildbot-worker stop /home/buildbot/worker
En cada caso, recibiremos comentarios de que , (mostrando el ID del proceso que se detuvo) o , que indica que el servicio no se estaba ejecutando en primer lugar.buildbot process 1234 is dead
buildmaster not running
Paso 2: Creación del archivo de unidad Buildmaster
A continuación, crearemos y abriremos un archivo llamado buildbot-master.service
:
- sudo nano /etc/systemd/system/buildbot-master.service
En la [Unit]
sección, agregaremos una descripción y exigiremos que la red esté disponible antes de iniciar el servicio. En la [Service]
sección, especificaremos que el proceso se ejecute como el buildbot
usuario y el grupo que creamos, definiremos el directorio de trabajo y proporcionaremos los comandos que se deben usar para iniciar o recargar el maestro. Finalmente, en la [Install]
sección, indicaremos que debe iniciarse como parte del objetivo multiusuario en el arranque:
/etc/systemd/system/buildbot-master.service
[Unit]Description=BuildBot master serviceAfter=network.target[Service]User=buildbotGroup=buildbotWorkingDirectory=/home/buildbot/masterExecStart=/usr/local/bin/buildbot start --nodaemonExecReload=/bin/kill -HUP $MAINPID[Install]WantedBy=multi-user.target
Una vez que hayamos agregado el contenido, lo guardaremos y saldremos, luego probaremos nuestro trabajo.
- sudo systemctl start buildbot-master
Usaremos status
el comando systemd para verificar que se inició correctamente:
- sudo systemctl status buildbot-master
La salida debe contener Active: active (running)
y la última línea debe verse así:
OutputMay 08 21:01:24 BuildBot-Install systemd[1]: Started BuildBot master service.
Finalmente, habilitaremos que el buildmaster se inicie en el arranque:
- sudo systemctl enable buildbot-master
OutputCreated symlink from /etc/systemd/system/multi-user.target.wants/buildbot-master.service to /etc/systemd/system/buildbot-master.service.
Ahora que el buildmaster está configurado, agregaremos el trabajador.
Paso 3: Creación del archivo de la unidad de trabajo
Crearemos y abriremos un archivo llamado buildbot-worker.service
que está configurado como buildbot-master.service
pero con los valores necesarios para iniciar el trabajador. En la [Install]
sección, usaremos la WantedBy
clave para buildbot-master.service
que el trabajador se inicie después del buildmaster.
- sudo nano /etc/systemd/system/buildbot-worker.service
/etc/systemd/system/buildbot-worker.service
[Unit]Description=BuildBot worker serviceAfter=network.target[Service]User=buildbotGroup=buildbotWorkingDirectory=/home/buildbot/workerExecStart=/usr/local/bin/buildbot-worker start --nodaemon[Install]WantedBy=buildbot-master.service
Guardaremos y saldremos, luego usaremos systemctl
para iniciar el trabajador:
- sudo systemctl start buildbot-worker
Usaremos el status
comando para verificar que se inició correctamente:
- sudo systemctl status buildbot-worker
Nuevamente, al igual que el maestro, deberíamos ver Active: active (running)
una línea final de salida que se parece a algo como esto:
Output. . .May 08 21:54:46 BuildBot-Install systemd[1]: Started BuildBot worker service.
Finalmente, permitiremos que el trabajador se inicie en el arranque:
- sudo systemctl enable buildbot-worker.service
OutputCreated symlink from /etc/systemd/system/buildbot-master.service.wants/buildbot-worker.service to /etc/systemd/system/buildbot-worker.service.
El resultado anterior indica que el trabajador está configurado para iniciarse en el arranque, pero es posible que desees reiniciar el servidor ahora para confirmar que todo se inicia como se espera.
Conclusión
En este tutorial, hemos agregado archivos de unidad systemd para que el sistema de inicio del servidor pueda administrar los procesos de Buildbot, y hemos habilitado tanto el buildmaster como el worker para que se inicien en el arranque.
En el siguiente tutorial, protegeremos la interfaz web con SSL mediante Let’s Encrypt, un servicio de certificados SSL gratuito. Tenga en cuenta que necesitará un nombre de dominio que sea de su propiedad o que esté bajo su control para generar un certificado.