くらげになりたい。

くらげのようにふわふわ生きたい日曜プログラマなブログ。趣味の備忘録です。

SpringBootで作ったアプリをインストールする on Ubuntu/CentOS

SpringBootで作ったアプリは、java -jar xxxx.jarとかgradlew bootRunで起動できるけど、やっぱりservice xxxx startとかで起動/停止したいよね?と思った時の備忘録

基本はFatJarを作ってデプロイするだけだけど、Debian系かRedHat系かで微妙に違うのでφ(..)メモメモ

build.gradleを修正して実行可能jar(executableJar)を生成するようにする

以下の感じで、spring-bootプラグインの設定を変更すればOK

apply plugin: 'spring-boot'

springBoot {
    executable = true
}

あとは、gradlew buildでjarを作れば準備完了

インストール on Ubuntu(Debian系)

# 作ったjar(ex. myapp.jar)を/var/配下に配置
$ sudo mkdir /var/myapp
$ sudo cp myapp.jar /var/myapp/

# myapp.jarをserviceとして登録
$ sudo ln -s /var/myapp/myapp.jar /etc/init.d/myapp
$ sudo update-rc.d myapp defaults

インストール on CentOS(RedHat系)

Ubuntuとほぼ一緒。「update-rc.d」がDebian系のコマンドなので、最後だけ違うだけ。 AWSのAmazonLinuxもCentOSの派生なので、こっちのやり方。

# 作ったjar(ex. myapp.jar)を/var/配下に配置
$ sudo mkdir /var/myapp
$ sudo cp myapp.jar /var/myapp/

# myapp.jarをserviceとして登録
$ sudo ln -s /var/myapp/myapp.jar /etc/init.d/myapp

# ここが違うだけ。
$ sudo chkconfig --add myapp
$ sudo chkconfig myapp on

以上!!

参考になる書籍

Spring Boot 2 プログラミング入門

Spring Boot 2 プログラミング入門

参考にしたサイト様