利用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 <release|debug>"
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发布项目到远程服务器上
网友评论