1.在Git项目的根目录,鼠标右键 Git Bash Here,打开Git Bash窗口

2.执行 ./git-package_.sh “2020-11-20 08:00:00” , 日期为上次打包文件的日期

3. git-package_.sh 脚本如下(需要根据自身的 Tomcat 项目部署路径修改变量 web_dir 注意路径最后不要有 “/” ):
#!/bin/bash
git_files=(`git log --pretty=format:"" --name-only --since="$1" `);
res_files="";
repeat_files=();
ignore_files=( shopxx.xml shopxx.properties pom.xml );
web_dir="/c/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/shopxx-b2b2c"
work_dir=$PWD
cd $web_dir
for ss in ${git_files[@]};
do
for ss_repeat in ${repeat_files[@]};
do
if [[ $ss_repeat == $ss ]] ; then
echo "重复:"$ss;
ss="";
break;
fi
done;
repeat_files=(${repeat_files[@]} $ss);
for ss_ignore in ${ignore_files[@]};
do
if [[ $ss == */$ss_ignore ]] ; then
ss="";
break;
fi
done;
if [[ $ss == src/main/webapp/* ]] ;then
ss=`echo $ss | sed 's/^src\/main\/webapp\///g'`;
elif [[ $ss == src/main/resources/* ]] ;then
ss=`echo $ss | sed 's/^src\/main\/resources/WEB-INF\/classes/g'`;
elif [[ $ss == src/main/java/* ]] ;then
ss_temp=${ss
ss_temp=${ss_temp/".java"/"*.class"};
ss_dir=`echo $ss | sed 's/^src\/main\/java\///g'`;
ss_dir=${ss_dir%/*}
ss="";
find WEB-INF/classes/$ss_dir -name $ss_temp > git-package_.tmp;
while read line;
do
ss=$ss" "$line;
done < git-package_.tmp;
else
ss="";
fi
res_files=$res_files" "$ss;
done;
package_name="update_`date +%Y%m%d_%H%M%S`.tar.gz";
tar -zcvf $package_name $res_files;
mv $web_dir"/"$package_name $work_dir/$package_name
cd $work_dir
echo $package_name;
4.Tomcat项目部署路径:
