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

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

从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

中间件的部署脚本 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

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

(0)

相关推荐

  • 在Linux下搭建Git服务器步骤

    环境: 服务器 CentOS6.6 + git(version 1.7.1) 客户端 Windows10 + git(version 2.8.4.windows.1)  ① 安装 Git Linux 做为服务器端系统,Windows 作为客户端系统,分别安装 Git 服务器端: #yum install -y git 安装完后,查看 Git 版本 [root@localhost ~]# git --version git version 1.7.1 客户端: 下载 Git for Windows

  • Git基本概述

    大致介绍 Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目,可以有效.高速的处理从很小到非常大的项目版本管理. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件 Git的诞生 Git是由Linus编写的,这个名字应该不会陌生,著名的Linux就是Linus的杰作!(厉害的人干啥都厉害),虽然Linus创建了Linux,但是Linux的壮大是由全世界热心的参与者共同努力的结果,而在2002年以前,世界各地

  • CentOS 最新版本git的安装教程

    CentOS6.5自带的git版本是1.7.1 卸载自带的git # yum remove git 下载最新版git # wget https://github.com/git/git/archive/v2.9.2.tar.gz 解压 # tar zxvf v2.9.2.tar.gz # cd git-2.9.2 编译安装 # make configure # ./configure --prefix=/usr/local/git --with-iconv=/usr/local/libiconv

  • GIt的基本操作详解

    目录 基本操作 安装与配置 init add与commit clone vim status diff rm(删除文件) 恢复文件 MV(重命名) Git分支操作 查看历史记录 添加标签 清屏 基本操作 安装与配置 $ git config --global user.name "runoob" $ git config --global user.email test@runoob.com $ git config --global core.editor Vim//指定文本编辑器

  • Git 命令使用技巧提供工作效率

    与其他技术相比,Git应该拯救了更多开发人员的饭碗.只要你经常使用Git保存自己的工作,你就一直有机会可以将代码退回到之前的状态,因此就可以挽回那些你深夜里迷迷糊糊犯下的错误. 尽管这么说,Git的命令行界面可是出了名的难掌握.接下来,就给大家介绍7个小技巧,最大限度发挥Git的作用. 通常,大部分时间我们都只会用到add.commit.branch和push/pull这些命令.大部分人熟悉这套只往一个方向运转的工作流.你们有没有想过,如果自己往仓库中添加了错误的文件,或是将代码提交到了错误的分

  • Git里多种撤销操作的最佳方法

    前言 相信大家都知道任何版本控制系统的一个最有的用特性就是"撤销 (undo)"你的错误操作的能力.在 Git 里,"撤销" 蕴含了不少略有差别的功能.当你进行一次新的提交的时候,Git 会保存你代码库在那个特定时间点的快照:之后,你可以利用 Git 返回到你的项目的一个早期版本. 撤销一个"已公开"的改变 场景: 你已经执行了 git push, 把你的修改发送到了 GitHub,现在你意识到这些 commit 的其中一个是有问题的,你需要撤销

  • Git基本常用命令

       mkdir:         XX (创建一个空目录 XX指目录名)    pwd:          显示当前目录的路径. git init          把当前的目录变成可以管理的git仓库,生成隐藏.git文件. git add XX       把xx文件添加到暂存区去.    git commit –m "XX"  提交文件 –m 后面的是注释.    git status        查看仓库状态 git diff  XX      查看XX文件修改了那些内容

  • Git fetch和pull的详解及区别

    git fetch和pull的区别 Git中从远程的分支获取最新的版本到本地有这样2个命令: 1. git fetch:相当于是从远程获取最新版本到本地,不会自动merge Git fetch origin master git log -p master..origin/master git merge origin/master 以上命令的含义: 首先从远程的origin的master主分支下载最新的版本到origin/master分支上:然后比较本地的master分支和origin/mas

  • 阿里云Linux-CentOS系统下-搭建Git服务器详解

     阿里云Linux-CentOS系统下-搭建Git服务器 步骤总结: 1. 安装git 首先确认服务器是否安装Git 在Xshell中输入命令:$ rpm -qa git 结果如下表示已经安装: 如果未安装就安装git 在Xshell中输入:$ yum install git 2. 创建一个git用户,用来运行git服务: 在Xshell中输入:$ sudo adduser git 此时在阿里云服务器的根目录:/home文件夹下新增一个文件夹git 按这个层级建立文件用于存放客户端用户的公钥:/

  • Git 命令详解及常用命令整理

    Git 命令详解及常用命令 Git作为常用的版本控制工具,多了解一些命令,将能省去很多时间,下面这张图是比较好的一张,贴出了看一下: 关于git,首先需要了解几个名词,如下: Workspace //工作区 Index / Stage //暂存区 Repository //仓库区(或本地仓库) Remote //远程仓 一.新建代码库 // 在当前目录新建一个Git代码库 $ git init // 新建一个目录,将其初始化为Git代码库 $ git init [project-name] //

随机推荐