4
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Javaで開発したWebアプリケーションをJenkinsを使って自動デプロイする[Tomcatアプリ編]

Last updated at Posted at 2019-01-27

CI/CDを実践するため、JenkinsでArtifactsを生成してアプリケーションサーバーにデプロイする所まで設定してみました。

ソースコードとサーバー構築はこちらの準備編に書いてあります。
JVMサーバーへSpringBootアプリケーションを自動デプロイしたい場合はSpringBootアプリ編を参照

Jenkinsのジョブの流れ1

  1. ソースコードをチェックアウトする
  2. Mavenでビルドを実行しwarファイルを出力する
  3. Tomcatマネージャーを使ってwarファイルをTomcatサーバーに転送してデプロイする

ソースコードをチェックアウトする

ソースコードも管理からGitを選び、準備編で用意したGithubのリポジトリをチェックアウトします。2
branchは、*/master を指定します。

Mavenでビルドを実行しwarファイルを出力する

シェルの実行を選び、./mvnwコマンドで実行します。

ビルドはmavenを使いますが、Maveタスクではなくリポジトリに含まれるMavenWrapperで実行します。
尚、リポジトリにはプロジェクトが2つあるため、カレントディレクトリをWebSpringBootに移動してから実行しています。

cd WebSpringMvc
./mvnw clean package

Mavenを実行すると、/WebSpringMvc/targetフォルダに、web-spring-mvc.war が生成されます。

Tomcatマネージャーを使ってwarファイルをTomcatサーバーに転送してデプロイする

シェルの実行を選び、curlでTomcatのmanagerコマンドを実行して、warファイルをデプロイします。

# path=/appパラメータで、アプリケーションのコンテキストパスが指定できます
curl --upload-file WebSpringMvc/target/web-spring-mvc.war "http://admin:password@192.168.33.30:8080/manager/text/deploy?path=/app&update=true"

Jenkinsのジョブ実行が成功すると、以下のURLからアプリケーションの実行が確認できます。
http://192.168.33.30:8080/app/greeting

ビルドの設定画面

image.png

参考

Configuring Manager Application Access

  1. 今回は敢えてコマンド実行でビルドとデプロイを行いたかったのでシェルの実行タスクを利用しました。

  2. このリポジトリにはwar用のWebSpringMvcとjar用のWebSpringBootの2つのMavenプロジェクトが含まれています。今回は/WebSpringMvcを利用します。

4
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?