前書き
Buildbotは、ソフトウェアのビルド、テスト、およびリリースのプロセスを自動化するためのPythonベースの継続的統合システムです。 前提条件のチュートリアルhttps://www.digitalocean.com/community/tutorials/how-to-install-buildbot-on-ubuntu-16-04[Ubuntu 16.04にBuildbotをインストールする方法]で、 + buildbot + `ユーザーとグループ、buildmasterを
+ / home / buildbot / master + に、ワーカーを
+ / home / buildbot / worker + `にインストールしてから、新しいユーザーのプロセスを手動で開始しました。
このチュートリアルでは、サーバーの初期化システムがBuildbotプロセスを管理できるようにsystemdユニットファイルを作成します。
前提条件
少なくとも1 GBのRAMを搭載した1つのUbuntu 16.04サーバー。https://www.digitalocean.com/community/tutorials/initial-server-setupに従って非ルートの「+ sudo +」ユーザーとファイアウォールを使用して設定-with-ubuntu-16-04 [Ubuntu 16.04初期サーバーセットアップガイド]、次のガイドを使用してBuildbotをインストールおよび構成します。
これらの要件を完了すると、開始する準備が整います。
手順1-実行中のサービスの停止
まず、前のチュートリアルからまだ「+ buildbot 」ユーザーとしてログインしている場合は、「 exit 」と入力して「 sudo +」ユーザーに戻ります。
`+ sudo +`ユーザーとして、Buildmasterが停止していることを確認します。
sudo buildbot stop /home/buildbot/master
次に、ワーカーも停止されるようにします。
sudo buildbot-worker stop /home/buildbot/worker
いずれの場合も、「+ buildbot process is dead 」(停止したプロセスIDを表示)または「 buildmaster not running +」(サービスが最初から実行されていなかったことを示す)というフィードバックを受け取ります。
ステップ2-Buildmaster Unitファイルの作成
次に、 `+ buildbot-master.service +`という名前のファイルを作成して開きます。
sudo nano /etc/systemd/system/buildbot-master.service
「+ [Unit] 」セクションに説明を追加し、サービスを開始する前にネットワークが利用可能であることを要求します。 ` [Service] `セクションでは、作成した ` buildbot `ユーザーおよびグループとしてプロセスが実行されるように指定し、作業ディレクトリを定義し、マスターの起動またはリロードに使用するコマンドを提供します。 最後に、 ` [Install] +`セクションで、ブート時にマルチユーザーターゲットの一部として開始する必要があることを示します。
/etc/systemd/system/buildbot-master.service
[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
コンテンツを追加したら、保存して終了し、作業をテストします。
sudo systemctl start buildbot-master
systemdの `+ status`コマンドを使用して、適切に起動したことを確認します。
sudo systemctl status buildbot-master
出力には `+ Active:active(running)+`が含まれ、最後の行は次のようになります。
OutputMay 08 21:01:24 BuildBot-Install systemd[1]: Started BuildBot master service.
最後に、ビルドマスターをブート時に開始できるようにします。
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.
ビルドマスターがセットアップされたので、ワーカーを追加します。
手順3-ワーカーユニットファイルの作成
「+ buildbot-worker.service 」というファイルを作成して開きます。このファイルは、「 buildbot-master.service 」のように設定されていますが、ワーカーの起動に必要な値が設定されています。 ` [Install] `セクションでは、 ` WantedBy `キーを ` buildbot-master.service +`に設定して、ワーカーがビルドマスターの後に起動されるようにします。
sudo nano /etc/systemd/system/buildbot-worker.service
/etc/systemd/system/buildbot-worker.service
[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 +`を使用してワーカーを開始します。
sudo systemctl start buildbot-worker
`+ status +`コマンドを使用して、正常に起動したことを確認します。
sudo systemctl status buildbot-worker
繰り返しますが、マスターと同様に、 `+ Active:active(running)+`と、次のような最終的な出力行が表示されます。
Output. . .
May 08 21:54:46 BuildBot-Install systemd[1]: Started BuildBot worker service.
最後に、ワーカーがブート時に起動できるようにします。
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.
上記の出力は、ワーカーがブート時に起動するように設定されていることを示していますが、サーバーをすぐに再起動して、すべてが期待どおりに起動することを確認できます。
結論
このチュートリアルでは、サーバーのinitシステムがBuildbotプロセスを管理できるようにsystemdユニットファイルを追加し、buildmasterとworkerの両方をブート時に開始できるようにしました。
次のチュートリアルでは、https://www.digitalocean.com/community/tutorials/how-to-configure-buildbot-with-ssl-using-an-nginx-reverse-proxy [WebインターフェイスをSSLで保護する無料のSSL証明書サービスであるLet’s Encrypt]を使用します。 証明書を生成するには、所有または管理しているドメイン名が必要です。