GitBucketを自動起動させてみる。

動作環境

GitBucketを自動起動させてみる。

  • 当然だけど、GitBucketを導入しただけでは、 OSの起動時に勝手に起動してくれているわけではないです。
  • これから、OSの起動時に勝手に起動してくれるように設定していきます。

 自動起動させるまでの手順

  1. GitBucketが起動していないことを確認。
$ ps -ef | grep gitbucket | grep -v grep
$ 
  • 何も表示されなければ、GitBucketは起動していないということ。
  • さぁ、これから自動起動の設定を始めます。

  • サービス定義ファイルを作成。

  • まずはローカルで作成するので、ログインユーザで作成できるところに gitbucket.service を作成します。
  • 作成した gitbucket.service は、以下の内容で作成します。
[Unit]
Description=The GitBucket Server

[Service]
User=develop
ExecStart=/usr/bin/java -jar -jar [gitbucket.warを置いてあるフルパス]/gitbucket.war

[Install]
WantedBy=multi-user.target
  • Unit -> Description : サービスの説明を記入
  • Service -> User : 実行ユーザを指定(今回は、通常使用しているユーザアカウントを使用しています。)
  • Service -> ExecStart : 起動時のコマンドを指定。(すべてフルパスで)
  • Install -> WantedBy : ランレベル3で実行するので。
  • ランレベルの説明については、過去記事(Apache2の自動起動の設定)を参照して下さい。

  • サービス定義ファイルをコピーします。

$ sudo cp -p gitbucket.service /lib/systemd/system/.
$ sudo chown root:root /lib/systemd/system/gitbucket.service 
  1. GitbucketをOS起動時に実行させるようにします。
$ sudo systemctl enable gitbucket.service 
Created symlink /etc/systemd/system/multi-user.target.wants/gitbucket.service → /lib/systemd/system/gitbucket.service.

ちょっとつまづいたところ

自動起動させようとしたら、起動していなかった件

  • $ journalctl --boot -u gitbucket.service を用いてログを確認したところ、以下のようなエラーが発生していました。
$ journalctl --boot -u gitbucket.service 
-- Logs begin at Fri 2022-01-28 17:18:39 JST, end at Thu 2022-02-03 14:24:16 JST. --
 2月 03 14:23:13 ubuntu systemd[1]: Started The GitBucket Server.
 2月 03 14:23:14 ubuntu java[618]: エラー: メイン・クラス.home.develop.work.gitbucket.warが見つからなかったかロードできませんでした
 2月 03 14:23:14 ubuntu systemd[1]: gitbucket.service: Main process exited, code=exited, status=1/FAILURE
 2月 03 14:23:14 ubuntu systemd[1]: gitbucket.service: Failed with result 'exit-code'.
  • なんでかなぁと思っていたら、どうやら起動コマンドが誤っていたみたいでした。
(誤)ExecStart=/usr/bin/java /home/develop/work/02_Service/01_GitBucket/gitbucket.war
(正)ExecStart=/usr/bin/java -jar /home/develop/work/02_Service/01_GitBucket/gitbucket.war
  • -jar オプションをつけ忘れていたみたいです。Javaのことはあまりわからないので・・・