从git拉源码maven构建后部署脚本

简介: 部署某个中间件到测试机器脚本从git取源码,再maven构建,将jar拷贝到服务器,备份旧版本,重启。

部署某个中间件到测试机器脚本

  1. 从git取源码,再maven构建,将jar拷贝到服务器,备份旧版本,重启。
#!/bin/bash

server_ips=(132.121.100.44 132.121.100.45 132.121.100.46 132.121.100.47)
        git_url=http://seaboat:123456@132.122.1.21:8888/splan/dbpool-src.git
        port=22
        user=seaboat
        dbproxy_base=/data/seaboat/dbproxy
        version=dbpool-service-1.2.2.jar
        currentTime=`date '+%Y%m%d%H%M%S'`
        dir=`pwd`

        function doGit(){
                echo "starting........"
                        rm -rf ./dbpool-src
                        git clone $git_url
                        echo "git clone successed......."
        }

function mavenBuild(){
        echo "maven building.......... "
                set -e 
                cd dbpool-src/dbpool-service 
                mvn clean  
                mvn package -Dmaven.test.skip=true
                echo "maven builds successed.........."
}

function deployToServer(){
        echo "starting deploy to server"
                for ip in ${server_ips[@]};
        do
                scp -r $dir/dbpool-src/dbpool-service/target/$version $user@$ip:$dbproxy_base/lib/tmp/
                        ssh -p $port $user@$ip "cd dbproxy/bin; ./deploy.sh $version $currentTime"
                        done
        echo "deploy to servers successfully!"
}

doGit
mavenBuild
deployToServer
  1. 中间件的部署脚本 deploy.sh

#!/bin/bash

. /etc/profile

cd
cd dbproxy/lib/tmp
cp -f $1 ../$1.$2
cp -f $1 ../$1

cd
cd dbproxy/bin
./shutdown.sh
./startup.sh

========广告时间========

鄙人的新书《Tomcat内核设计剖析》已经在京东销售了,有需要的朋友可以到 https://item.jd.com/12185360.html 进行预定。感谢各位朋友。

为什么写《Tomcat内核设计剖析》

=========================

目录
相关文章
|
3天前
|
测试技术 持续交付 开发工具
《Git 简易速速上手小册》第6章:Git 在持续集成/持续部署(CI/CD)中的应用(2024 最新版)
《Git 简易速速上手小册》第6章:Git 在持续集成/持续部署(CI/CD)中的应用(2024 最新版)
43 2
|
3天前
|
Java Linux Maven
Linux系统Docker部署Nexus Maven并实现远程访问本地管理界面
Linux系统Docker部署Nexus Maven并实现远程访问本地管理界面
106 3
|
3天前
|
存储 前端开发 开发工具
Git提交前的必备神器——自动清除调试语句脚本
Git提交前的必备神器——自动清除调试语句脚本
30 0
|
3天前
|
Java Linux Maven
私有仓库工具Nexus Maven如何部署并实现远程访问管理界面
私有仓库工具Nexus Maven如何部署并实现远程访问管理界面
71 0
|
3天前
|
存储 前端开发 开发工具
前端开发中的Git版本控制:构建可靠的协作和代码管理
前端开发中的Git版本控制:构建可靠的协作和代码管理
51 0
|
3天前
|
数据采集 前端开发 Java
Java医院绩效考核系统源码maven+Visual Studio Code一体化人力资源saas平台系统源码
医院绩效解决方案包括医院绩效管理(BSC)、综合奖金核算(RBRVS),涵盖从绩效方案的咨询与定制、数据采集、绩效考核及反馈、绩效奖金核算到科到组、分配到员工个人全流程绩效管理;将医院、科室、医护人员利益绑定;全面激活人才活力;兼顾质量和效益、长期与短期利益;助力医院降本增效,持续改善、优化收入、成本结构。
16 0
|
3天前
|
前端开发 IDE Java
基于Springboot+MYSQL+Maven实现的宠物医院管理系统(源码+数据库+运行指导文档+项目运行指导视频)
基于Springboot+MYSQL+Maven实现的宠物医院管理系统(源码+数据库+运行指导文档+项目运行指导视频)
176 0
|
3天前
|
存储 项目管理 开发工具
Git 版本控制:构建高效协作和开发流程的最佳实践
版本控制是软件开发的核心,促进团队协作与项目管理。通过制定明确的分支命名策略,遵循一致的代码提交规范,如指明提交类型和简短描述,增强了历史记录的可读性,可以清晰地组织和理解项目的结构与进展。
23 0
Git 版本控制:构建高效协作和开发流程的最佳实践
|
3天前
|
开发工具 git
自动化脚本之Git相关
自动化脚本之Git相关
16 0
|
3天前
|
JavaScript 持续交付 开发工具
Git自动化利器:使用Node.js脚本定制化提交消息处理
Git自动化利器:使用Node.js脚本定制化提交消息处理
63 0

相关实验场景

更多

推荐镜像

更多