Cómo crear archivos de unidad Systemd para Buildbot

hace 2 semanas

Introducció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 buildbotusuario y un grupo, instalamos el buildmaster en /home/buildbot/mastery el worker en /home/buildbot/workery 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 sudoy 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 buildbotusuario del tutorial anterior, escribe exitpara volver al sudousuario.

Como sudousuario, nos aseguraremos de que Buildmaster esté detenido:

  1. sudo buildbot stop /home/buildbot/master

Luego, nos aseguraremos de que el trabajador también se detenga:

  1. 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 deadbuildmaster not running

Paso 2: Creación del archivo de unidad Buildmaster

A continuación, crearemos y abriremos un archivo llamado buildbot-master.service:

  1. 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 buildbotusuario 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.

  1. sudo systemctl start buildbot-master

Usaremos statusel comando systemd para verificar que se inició correctamente:

  1. 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:

  1. 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.serviceque está configurado como buildbot-master.servicepero con los valores necesarios para iniciar el trabajador. En la [Install]sección, usaremos la WantedByclave para buildbot-master.serviceque el trabajador se inicie después del buildmaster.

  1. 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 systemctlpara iniciar el trabajador:

  1. sudo systemctl start buildbot-worker

Usaremos el statuscomando para verificar que se inició correctamente:

  1. 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:

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

Reúnete conmigo
Te invito a una reunión sin compromiso para explorar juntos las oportunidades de crecimiento de tu negocio. Aprovecha esta oportunidad para conocerme y descubrir cómo mi experiencia y habilidades pueden marcar la diferencia en tu éxito empresarial. ¡No pierdas la ocasión de darle a tu empresa el impulso que merece!
× ¿Cómo puedo ayudarte?