質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Jenkins

Jenkinsとは、Apache TomcatなどのServletで動作しているサーバーベースシステムです。Jenkinsはオープンソースであり、LInux,Mac OS X,Windows,Solaris,FreeBSDとOpenBSDのためのパッケージがあります。

Q&A

解決済

1回答

1819閲覧

Jenkisでのwarビルドおよびtomcatのデプロイ

post123456

総合スコア73

Jenkins

Jenkinsとは、Apache TomcatなどのServletで動作しているサーバーベースシステムです。Jenkinsはオープンソースであり、LInux,Mac OS X,Windows,Solaris,FreeBSDとOpenBSDのためのパッケージがあります。

0グッド

0クリップ

投稿2020/12/29 15:24

編集2020/12/29 15:28

SVNからのビルド、デプロイの自動化方法について記載。

0.事前環境

■Linuxサーバーに必要なツール
・JDK
・SVN
・Jenkins(※/var/lib/jenkins/workspaceにジョブに関する内容が作成される)
・ANT

> wget http://www.apache.org/dist/ant/binaries/apache-ant-<version>-bin.tar.gz > tar zxvf apache-ant-<version>-bin.tar.gz > mv apache-ant-<version> /usr/share/ant > ln -s /usr/share/ant/bin/ant /usr/bin/ant > vi ~/.bash_profile

1.build.xml

build.xml
・tmp内にwarを配置
ビルド→デプロイを行う。

<?xml version="1.0" encoding="UTF-8"?> <project name="build" basedir="." default="build-war"> <!-- クリーン --> <target name="clean"> <delete dir="./bin" /> </target> <!-- 設定 --> <property name="web-app.name" value="Test" /><!--war名--> <property name="target" value="1.8" /> <property name="source" value="1.8" /> <property name="debuglevel" value="source,lines,vars" /> <!--tomcatデプロイURL--> <property name="domain" value="[http://[tomcat:ユーザID]:[tomcat:PW]@tomcatのURL:ポート番号]" /> <tstamp> <format property="copy.time" pattern="yyyyMMddHHmmss" /> </tstamp> <!--warファイル名 tmp配下に配置を想定--> <property name="war.file" value="/tmp/bk/${web-app.name}${copy.time}.war" /> <!-- コンパイル --> <target depends="clean" name="build-project"> <javac debug="true" debuglevel="${debuglevel}" srcdir="./src/main" destdir="build/classes" source="${source}" target="${target}" includeantruntime="false">  <classpath>   <pathelement location="war/build/classes" />    <!--libパスの設定-->   <fileset dir="WebContent/WEB-INF/lib" />  </classpath> </javac> </target> <!-- warファイル作成 --> <target depends="build-project" name="build-war"> <war destfile="${war.file}" needxmlfile='false'> <fileset dir="WebContent"> <include name="**/*" /> </fileset> <classes dir="build/classes" /> </war> </target> <!-- tomcatデプロイ curlコマンド実行--> <target depends="build-war" name="war-deploy"> <exec executable="curl"> <arg  value="${domain}/manager/text/deploy?war=file:${war.file} &amp;path=/${web-app.name}&amp;update=true" /> </exec> </target> </project>

2.必要な権限設定

tomcat Manager(tomcatのURL/manager/html)
・tomcatディレクトリ/conf/tomcat-user.xml

<tomcat-users> <role rolename="manager-gui"/> <user username="[ユーザ名]" password="[パスワード]" roles="manager-gui, manager-script"/> </tomcat-users>

・tomcatディレクトリ[/usr/local/tomcat]/conf/server.xml

<Resource name="UserDatabase" auth="Container" type="org.apache.catalina.UserDatabase" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" pathname="conf/tomcat-users.xml" />

3.Jenkinsの設定

1.左メニューの[Jenkinsの管理]を選択後、Global Tool 設定を選択
イメージ説明

2.インストールしたJDKおよびANTのパスを設定
イメージ説明

3.新規ジョブ作成
イメージ説明
イメージ説明

4.SVNリポジトリの設定およびANTの設定
イメージ説明
※設定後、保存を押下

5.Jenkins実行
イメージ説明

4.Jenkins補足(再設定およびコンソール確認方法)

イメージ説明

・再設定
イメージ説明

・コンソール
イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

動作確認済。追記で効率がよいものがあれば募集。

投稿2020/12/29 15:29

post123456

総合スコア73

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問