Shellはgitからコードを引き出してtomcatにコンパイルして配置します。
Shellはgitからコードを引き出してtomcatにコンパイルして配置します。
ディレクトリ構造
//ダタ
ルートディレクトリ
//data/deploy
shellスクリプトディレクトリ
//data/git-code
gitにコードを引くディレクトリ
//data/tools
tomcatディレクトリ
//data/webapps
war包カタログ
shellスクリプト
toolsディレクトリに入ると対応するtomcatがあります。
キャッシュ不足のエラーを避ける
注:もし設定しないならば、shellシナリオのwebappsはtomcatの下のwebappsパスに変えるべきです。
ディレクトリ構造
//ダタ
ルートディレクトリ
//data/deploy
shellスクリプトディレクトリ
//data/git-code
gitにコードを引くディレクトリ
//data/tools
tomcatディレクトリ
//data/webapps
war包カタログ
shellスクリプト
#!/bin/bash
tomcat_name="tomcat-web-hello"
# git/
git_name="web"
#
module_name="web-hello"
# tomcat
function killTomcat(){
ps -ef | grep $tomcat_name | grep -v 'grep' | awk '{print $2}' | xargs kill -9
echo "killd tomcat "
}
function startTomcat(){
ps -ef | grep $tomcat_name | grep -v 'grep' | awk '{print $2}' | xargs kill -9
cd /data/tools/$tomcat_name/bin/
nohup ./startup.sh
echo "start tomcat end"
tail -f /data/tools/$tomcat_name/logs/catalina.out
}
function svnmvn(){
cd /data/git-code/$git_name
git fetch
if [ "$branch" != "" ]
then
git checkout -b $branch origin/$branch
git checkout $branch
fi
git pull
mvn clean install -Dmaven.test.skip=true
}
function deployWar(){
dir=`date +%Y%m%d-%H%M`
cd /data/webapps/$module_name
rm * -rf
cp /data/git-code/$git_name/$module_name/target/$module_name-1.0-SNAPSHOT.war /data/webapps/$module_name
unzip $module_name-1.0-SNAPSHOT.war
}
echo -n "!!!$git_name- : "
read branch
svnmvn $branch
if [ $? -eq 0 ]
then
deployWar
killTomcat
sleep 2
startTomcat
else
echo "ERROR: mvn failed!"
fi
その他の設定toolsディレクトリに入ると対応するtomcatがあります。
cd /data/tools/tomcat-web-hello/conf
起動パラメータを設定vim catalina.properties
最後の行に追加spring.profiles.active=prod
キャッシュの設定キャッシュ不足のエラーを避ける
vim content.xml
追加
は、<Context>
<WatchedResource>WEB-INF/web.xmlWatchedResource>
<WatchedResource>${catalina.base}/conf/web.xmlWatchedResource>
<Resources cachingAllowed="true" cacheMaxSize="100000" />
Context>
tomcat配置経路を設定します。注:もし設定しないならば、shellシナリオのwebappsはtomcatの下のwebappsパスに変えるべきです。
vim server.xml
追加
は、<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
<Context path="/" docBase="/data/webapps/web-hello" debug="0"/>
Host>