skillup

技術ブログ

Java サーバー・ネットワーク

jenkinsのオートデプロイ

投稿日:2016年11月1日 更新日:

久々にJavaやりました。

やりたいこと

  1. 作成しているアプリはJavaServelet、アプリケーションサーバーはglassfish
  2. ローカルでgitでコミット→プッシュ
  3. これをトリガーにしてjenkinsでビルド→デプロイ(デプロイするサーバーは別)

git→jenkins連携はこちらに解説してます。
jenkins構築
Git→Jenkinsの連携
Git→Jenkinsの連携 その2

ハマりポイント

Antでのjobの設定

いままでほとんどmavenだったので・・・

まずビルドファイルはディフォルトでbuild.xmlなら何も書かなくてOKです。下手に書くとファイルがないと怒られます。

Jenkins使い方メモ

jenkinsでビルドできない

Javaだと頻繁にありますがIDEだとOK(ライブラリが内包されているので)だけど、別環境だとダメってパターン。ほとんどがライブラリ関係です。

出たエラーは次の2箇所

Jenkinsのjobのビルド→Antの呼び出しでクラスパスをjenkinsの管理画面でAntのプロパティとして設定してあげればOK

j2ee.server.home=/usr/local/glassfish4/glassfish/ で解決

j2ee.server.home missing during NetBean project build

org-netbeans-modules-java-j2seproject-copylibstask.jarが入っていないためにエラーが起こる。(ローカルだとnetbeansには入っている)

このjarファイル自体をWEB-INFの中に入れてあげて

とパスを先ほどと同様Antのプロパティに設定してあげればOK

The libs.CopyLibs.classpath property is not set up

jenkinsのオートデプロイ

これに関しては↓
glassfishへのデプロイ
今回はできたwarファイルをSSHでjenkinsサーバーからtestサーバーに運んであげる

SSHでの運び方

※最初はアプリをビルドさせる処理と送信のジョブを別々にしたほうが良いかも。

  1. SSH2Easy Pluginというプラグインをインストール
  2. あとはJenkinsの管理画面→システムの設定→Server Group Centerにhostやuserなど必要な情報を入れる
  3. 1度保存後、ServerListが保存できるのでここでServerGroupを選択し、Servernameをきめてあげ、IPを入れる
  4. プロジェクト選択画面に遷移し、ビルドの手順の追加よりRemoteSFTPUPLOADを選択、さきほど入力したものが選ばれているはず
  5. localFilePath 送る側のファイルパス remoteLocation 送られる側のファイルパス fileName ファイル名をリネームしたいとき。リネームしなくていい場合は空

最初はただのテキストファイルを送るといいかも。

testサーバーでのデプロイ

warファイルはそのままglassfishディレクトリのautodeployの中に入れてあげれば自動でWEBからアクセスできるように展開されている。

The libs.CopyLibs.classpath property is not set up

jenkinsでは「SSHでの運び方」で記述したようにServer Group Centerを設定してあげればSSHで対象のサーバーにログインして操作ができます。

ビルドの手順の追加より「Remote Shell」を追加し、Serverを選んであげて、Shellの中にコマンドを記述してあげればOKです。

これで意図したパスにファイルをおいてあげればOKです。

-Java, サーバー・ネットワーク
-,

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

no image

ansible複数アイテム登録&ファイル分割&ログ

引き続きansibleに関して。 Contents1 設定ファイルの書き換え1.1 ini_file1.2 lineinfile2 複数の値の置換3 ファイル分割3.1 ログ修正 設定ファイルの書き換 …

no image

SSHのfinger printに関して

今まで何気なくやっていることをあまり実は理解していない・・なんてことが多いもんで、最近は復習の必要性を感じています。 今回のお題はSSHのfinger printです。 初めてSSH先に接続するときに …

no image

zabbixアラートメール

以前、zabbixの基本設定についてこのエントリーでかきました。 今回はzabbixでの何らかの障害が発生した時に、アラートメールを送信したい場合について Contents1 ユーザーの登録&ユーザー …

no image

サーバー構築(ゼロからの準備編)

VPSのサーバーを入れるときにほぼ確実にインストールするパッケージなどを。 Contents0.1 update&言語表記0.2 基本ライブラリ0.3 sudoユーザーの設定0.4 apache0.5 …

no image

AWSのCLIに関して

実務でAWSを使ってたんですがテスト時にはコマンドを使っている方がはるかに早いためコマンドライン環境を作っておいたほうが良いです。 ちなみに使用する前にはAWSのコンソールからIAMユーザーを作成する …

アーカイブ