jekins进行部署

利用jekins进行部署项目,简单说一下内容:
1、项目进行打包发布
2、直接发布到线上环境(通过tomcat 插件直接发布)

整个思路就是:
进入到对应的目录,执行mvn package命令进行打包,然后拷贝到指定的目录下,然后执行git 添加到对应的git库中,
运维会到对应的git库中拉去然后部署到线上,后期可以直接部署到线上
代码如下:
在jekins中的执行shell是:

cd /root/xxx
git checkout master
git pull
./test.sh release

其中test.sh中的内容如下:

#!/bin/sh


if [ $# -ne 1 ];then
    echo "usage: $0 "
    echo "       $0 debug"
    echo "       $0 release"
    exit
fi

if [ $1 = "release" ];then
    #mvn package -DskipTests -Dassembly.skipAssembly=false

    # We use the packet-logging module as an example. Change accordingly.
    MODULE_NAME=ceph-api
    #MODULE_HOME=$HOME/src/jitsi/jitsi/m2/$MODULE_NAME
    MODULE_HOME=.
    #REPO_HOME=$HOME/src/jitsi/jitsi-maven-repository
    REPO_HOME=/data1/repository
    mvn package
    datename=$(date +%Y%m%d_%H%M%S)
    cd target
    mv file.war  ${datename}file.war
    cp ${datename}file.war $REPO_HOME/snapshots/ceph-api/
    # Update the maven repository.
    cd $REPO_HOME/
    git pull -r origin master
    git add snapshots/
    git commit -m "Updates $MODULE_NAME."
    git push origin master
    elif [ $1 = "debug" ];then
    mvn package -DskipTests -Dassembly.skipAssembly=false
fi

谈谈整个逻辑:
可以直接通过如下命令切换到主分支

git check out master

然后进行拉去代码

git pull

拉去后进行maven打包

mvn package

打包后重命名和拷贝到指定目录下:

    datename=$(date +%Y%m%d_%H%M%S)
    cd target
    mv file.war  ${datename}file.war
    cp ${datename}file.war $REPO_HOME/snapshots/ceph-api/

然后是对copy到指定目录下的文件git提交管理:
这样运维就可以直接到git上进行下载部署了。

    cd $REPO_HOME/
    git pull -r origin master
    git add snapshots/
    git commit -m "Updates $MODULE_NAME."
    git push origin master

晚上我在网上看到了两篇不错的文章,可以系统学习一下jekins
jekins系列文章
jekins发布项目到远程服务器上

你可能感兴趣的:(jekins进行部署)