#!/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脚本
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 内容处理信号以后台模式运行脚本禁止挂起作业控制修改脚本优先级脚本执行自动化 除了在命令行界面世界运行脚本,还存在一...
- 打包示例 示例的打包工程和脚本我都放到git上,该示例是使用的企业证书打的企业包,如何打包其他类型证书的ipa,我...
- 废话不多说,开始实施... 一些基本知识需要自己实践完,进行自我补充和提高。在下一节会介绍原理。 文中所涉及到的l...
- 需求 在 A 界面,点击跳转到 B 界面(该界面会执行一些业务),再点击返回键出现 Dialog 弹窗,点击确认退...
- 背景介绍 一般流程 在用 git 做项目版本控制的时候。一般开发者在开发环境中完成开发,会把代码 push 到代码...