从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内核设计剖析》

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

目录
相关文章
|
9天前
|
Java 项目管理 Maven
Maven项目管理与构建自动化完全指南
Maven彻底改变了Java项目管理方式,通过POM模型、依赖管理和标准化构建流程,大幅提升开发效率。本文深入解析其核心概念、多模块管理、私服搭建及与Spring Boot、Docker等现代技术栈的集成实践,助力开发者实现高效、规范的项目构建与团队协作。
Maven项目管理与构建自动化完全指南
|
5月前
|
Java 测试技术 项目管理
【JavaEE】从 0 到 1 掌握 Maven 构建 Java 项目核心技巧 解锁 Java 项目高效管理实用实例
本文从Maven基础概念讲起,涵盖安装配置、核心概念(如POM与依赖管理)及优化技巧。结合Java Web项目实例,演示如何用Maven构建和管理项目,解决常见问题,助你高效掌握这一强大工具,提升Java开发与项目管理能力。适合初学者及进阶开发者学习。资源链接:[点此获取](https://pan.quark.cn/s/14fcf913bae6)。
182 6
|
12月前
|
开发工具 git C++
【App Service】VS Code直接部署App Service时候遇见 “fatal: not a git repository (or any of the parent directories): .git”
通过VS Code发布Python App Service的时候,遇见了发布失败错误: The deployment failed with error: fatal: not a git repository (or any of the parent directories): .git . Please take a few minutes to help us improve the deployment experience
217 24
|
开发工具 git Python
通过Python脚本git pull 自动重试拉取代码
通过Python脚本git pull 自动重试拉取代码
362 5
|
11月前
|
XML Java 测试技术
从零开始学 Maven:简化 Java 项目的构建与管理
Maven 是一个由 Apache 软件基金会开发的项目管理和构建自动化工具。它主要用在 Java 项目中,但也可以用于其他类型的项目。
328 1
从零开始学 Maven:简化 Java 项目的构建与管理
|
11月前
|
Ubuntu Shell 开发工具
ubuntu/debian shell 脚本自动配置 gitea git 仓库
这是一个自动配置 Gitea Git 仓库的 Shell 脚本,支持 Ubuntu 20+ 和 Debian 12+ 系统。脚本会创建必要的目录、下载并安装 Gitea,创建 Gitea 用户和服务,确保 Gitea 在系统启动时自动运行。用户可以选择从官方或小绿叶技术博客下载安装包。
428 2
|
存储 Linux 开发工具
【Azure App Service】本地Git部署Python Flask应用上云(Azure App Service For Linux)关键错误
【Azure App Service】本地Git部署Python Flask应用上云(Azure App Service For Linux)关键错误
125 1
|
Linux 开发工具 git
【应用服务 App Service】App Service使用Git部署时,遇见500错误
【应用服务 App Service】App Service使用Git部署时,遇见500错误
103 1
|
Java 持续交付 项目管理
Maven是一款基于Apache许可的项目管理和构建自动化工具,在Java开发中极为流行。
Maven是一款基于Apache许可的项目管理和构建自动化工具,在Java开发中极为流行。它采用项目对象模型(POM)来描述项目,简化构建流程。Maven提供依赖管理、标准构建生命周期、插件扩展等功能,支持多模块项目及版本控制。在Java Web开发中,Maven能够自动生成项目结构、管理依赖、自动化构建流程并运行多种插件任务,如代码质量检查和单元测试。遵循Maven的最佳实践,结合持续集成工具,可以显著提升开发效率和项目质量。
154 1
|
jenkins 持续交付 开发工具
"引爆效率革命!Docker+Jenkins+GIT+Tomcat:解锁持续集成魔法,一键部署Java Web应用的梦幻之旅!"
【8月更文挑战第9天】随着软件开发复杂度的增加,自动化变得至关重要。本文通过实例展示如何结合Docker、Jenkins、Git与Tomcat建立高效的持续集成(CI)流程。Docker确保应用环境一致性;Jenkins自动化处理构建、测试和部署;Git管理源代码版本;Tomcat部署Web应用。在Jenkins中配置Git插件并设置项目,集成Docker构建Tomcat应用镜像并运行容器。此外,通过自动化测试、代码质量检查、环境隔离和日志监控确保CI流程顺畅,从而显著提高开发效率和软件质量。
188 3

推荐镜像

更多
下一篇
oss教程