Buildbot의 Systemd 단위 파일 생성 방법

Buildbot의 Systemd 단위 파일 생성 방법

2022-06-01 last update

6 minutes reading Ubuntu Ubuntu 16.04 CI/CD

소개


Buildbot은 Python 기반의 연속 통합 시스템으로 소프트웨어 구축, 테스트, 발표 과정을 자동화하는 데 사용된다.필수 강좌How To Install Buildbot on Ubuntu 16.04에서, 우리는 buildbot 사용자와 그룹을 만들고, /home/buildbot/master에buildmaster를 설치하고, /home/buildbot/worker에worker를 설치한 다음, 새로운 사용자의 프로세스를 수동으로 시작합니다.
이 강좌에서는 서버의 init 시스템이 Buildbot 프로세스를 관리할 수 있도록 시스템d 단원 파일을 만들 것입니다.

선결 조건


최소 1GB의 RAM을 갖춘 Ubuntu 16.04 서버Ubuntu 16.04 initial server setup guide에 따라 비rootsudo 사용자와 방화벽을 구성하고 다음 지침을 사용하여 Buildbot을 설치하고 구성합니다.
  • How To Install Buildbot on Ubuntu 16.04
  • 일단 이런 요구를 완성하면 시작할 수 있다.

    1단계 - 실행 중인 서비스 중지


    우선, 위 강좌의 buildbot 사용자로 로그인하려면 exit 사용자로 돌아가려면 sudo 을 입력하십시오.sudo 사용자로서 Buildmaster가 중지되었는지 확인합니다.
    1. sudo buildbot stop /home/buildbot/master
    그리고 우리는 노동자들도 일을 멈추도록 확보할 것이다.
    1. sudo buildbot-worker stop /home/buildbot/worker
    모든 상황에서 우리는 피드백 buildbot process 1234 is dead, (정지된 프로세스 ID 표시) 또는 buildmaster not running 을 받을 수 있습니다. 이것은 서비스가 처음에 실행되지 않았음을 나타냅니다.

    단계 2 - Buildmaster 셀 파일 만들기


    다음은 buildbot-master.service 라는 파일을 만들고 엽니다.
    1. sudo nano /etc/systemd/system/buildbot-master.service
    [Unit] 부분에서, 우리는 설명을 추가하고, 서비스를 시작하기 전에 반드시 네트워크를 제공해야 한다고 요구할 것이다.[Service] 부분에서, 우리는 프로세스를 우리가 만든 buildbot 사용자와 그룹으로 지정하여 작업 디렉터리를 정의하고 호스트를 시작하거나 다시 불러오는 명령을 제공합니다.마지막으로 [Install] 섹션에서는 안내할 때 다중 사용자 목표의 일부로 시작해야 한다고 지적합니다.
    /etc/systemd/system/buildbot 호스트.서비스
    [Unit]
    Description=BuildBot master service
    After=network.target
    
    [Service]
    User=buildbot
    Group=buildbot
    WorkingDirectory=/home/buildbot/master
    ExecStart=/usr/local/bin/buildbot start --nodaemon
    ExecReload=/bin/kill -HUP $MAINPID
    
    [Install]
    WantedBy=multi-user.target
    
    내용을 추가하면 저장하고 종료한 다음 작업을 테스트합니다.
    1. sudo systemctl start buildbot-master
    시스템드status 명령을 사용하여 제대로 시작되었는지 확인합니다.
    1. sudo systemctl status buildbot-master
    출력은 Active: active (running), 마지막 줄은 다음과 같아야 합니다.
    Output
    May 08 21:01:24 BuildBot-Install systemd[1]: Started BuildBot master service.
    마지막으로, 안내할 때 buildmaster를 시작합니다.
    1. sudo systemctl enable buildbot-master
    Output
    Created symlink from /etc/systemd/system/multi-user.target.wants/buildbot-master.service to /etc/systemd/system/buildbot-master.service.
    현재buildmaster가 설정되어 있습니다.worker를 추가할 것입니다.

    단계 3 - 작업 단위 파일 만들기

    buildbot-worker.service 라는 파일을 만들고 열 것입니다. 이 파일의 설정은 buildbot-master.service 과 유사하지만 워커를 시작하는 데 필요한 값이 있습니다.[Install] 부분에서, 우리는buildmaster 이후worker를 시작하기 위해 WantedBy 키를 buildbot-master.service 키로 설정할 것입니다.
    1. sudo nano /etc/systemd/system/buildbot-worker.service
    /etc/systemd/system/buildbot 일꾼.서비스
    [Unit]
    Description=BuildBot worker service
    After=network.target
    
    [Service]
    User=buildbot
    Group=buildbot
    WorkingDirectory=/home/buildbot/worker
    ExecStart=/usr/local/bin/buildbot-worker start --nodaemon
    
    [Install]
    WantedBy=buildbot-master.service
    
    저장하고 종료한 다음 systemctl 를 사용하여 Worker를 시작합니다.
    1. sudo systemctl start buildbot-worker
    status 명령을 사용하여 성공적으로 시작되었는지 확인합니다.
    1. sudo systemctl status buildbot-worker
    마찬가지로 마스터처럼 우리는 Active: active (running)와 마지막 줄의 출력을 보아야 한다. 보기에는 다음과 같다.
    Output
    . . . May 08 21:54:46 BuildBot-Install systemd[1]: Started BuildBot worker service.
    마지막으로 Worker가 부트할 때 시작할 수 있도록 합니다.
    1. sudo systemctl enable buildbot-worker.service
    Output
    Created symlink from /etc/systemd/system/buildbot-master.service.wants/buildbot-worker.service to /etc/systemd/system/buildbot-worker.service.
    위의 출력은 작업 프로세스가 부트할 때 시작하도록 설정되어 있음을 나타냅니다. 그러나 서버를 다시 시작하여 예상대로 시작하기를 원할 수도 있습니다.

    결론


    이 강좌에서, 서버의 init 시스템에서 Buildbot 프로세스를 관리할 수 있도록 시스템d 단원 파일을 추가했고, buildmaster와worker를 사용하여 안내할 때 시작합니다.
    다음 강좌에서 우리는 secure the web interface with SSL using Let’s Encrypt, 무료 SSL 인증서 서비스를 소개할 것이다.인증서를 생성하려면 도메인 이름을 소유하거나 제어해야 합니다.