GitBucketを自動起動させてみる。
動作環境
- OS : Ubuntu 20.04
GitBucketを自動起動させてみる。
- 当然だけど、GitBucketを導入しただけでは、 OSの起動時に勝手に起動してくれているわけではないです。
- これから、OSの起動時に勝手に起動してくれるように設定していきます。
自動起動させるまでの手順
- 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で実行するので。
サービス定義ファイルをコピーします。
$ sudo cp -p gitbucket.service /lib/systemd/system/. $ sudo chown root:root /lib/systemd/system/gitbucket.service
- 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のことはあまりわからないので・・・