#!/bin/bash
echo "-------开始项目部署---------"
projectName="项目名称"
git_path="项目Git地址"
pid_no=$(ps -ef | grep tomcat | grep -v grep | awk '{print $2}');
if [ -n "$pid_no" ];then
echo "杀死${projectName}进程的编号:${pid_no}"
kill -9 "$pid_no"
sleep 2
else
echo "当前${projectName}项目已经被关闭"
fi
cd /opt/source
echo "当前${projectName}项目Git地址:" $git_path
read -t 30 -p "请输入${projectName}项目的版本号,默认最新请直接回车跳过:" git_version
echo "移除${projectName}项目源码"
rm -rf $projectName
echo "拉取${projectName}分支项目"
sleep 3
git clone ${git_path} ${projectName}
sleep 3
cd ${projectName}
if [ -n "$git_version" ];then
echo "开始切换到指定${git_version}版本号"
git checkout $git_version
git show $git_version > info.txt
cat info.txt
else
git show > info.txt
cat info.txt
echo "最新版本号"
fi
sleep 15
mvn clean -Dmaven.test.skip=true package
#nohup mvn tomcat7:run -Dspring.profiles.active=lml >/dev/null 2>&1 &
sleep 3
cd /usr/local/tomcat/tomcat/webapps
rm -rf ROOT ROOT.war
cp -r /opt/source/${projectName}/target/cqss-breakfast.war /usr/local/tomcat/tomcat/webapps/ROOT.war
cd /usr/local/tomcat/tomcat/bin
./startup.sh
time=$(date +"%Y-%m-%d")
tail -f /data/log/breakfast/logs/info.${time}.log
Git自动化部署shell脚本
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 内容处理信号以后台模式运行脚本禁止挂起作业控制修改脚本优先级脚本执行自动化 除了在命令行界面世界运行脚本,还存在一...
- 打包示例 示例的打包工程和脚本我都放到git上,该示例是使用的企业证书打的企业包,如何打包其他类型证书的ipa,我...
- 废话不多说,开始实施... 一些基本知识需要自己实践完,进行自我补充和提高。在下一节会介绍原理。 文中所涉及到的l...
- 需求 在 A 界面,点击跳转到 B 界面(该界面会执行一些业务),再点击返回键出现 Dialog 弹窗,点击确认退...
- 背景介绍 一般流程 在用 git 做项目版本控制的时候。一般开发者在开发环境中完成开发,会把代码 push 到代码...