您的位置:首页 > 其它

git+maven+nexus实现测试机自动发布项目

2017-01-25 16:58 633 查看

git+maven+nexus实现测试机自动发布项目

当我们写好代码后,通常只在本地机器运行查看效果。如果想让前端同事看到后台服务效果,需要手工发布到测试服务器。项目war包有90M,公司内网传到测试服务器速度相当慢,比较折腾。

为了偷懒,设置定时执行脚本:每隔15分钟从gitlab拉取最新代码,在测试机上编译打包并发布。方便其他项目开发人员查看最新代码的部署情况。

安装和配置git

# 安装git
yum install git

# 配置git
git config --global user.name "auto_public"
git config --global user.email "auto_public@xxx.cn"
ssh-keygen -t rsa -C "auto_public@xxx.cn"
cat ~/.ssh/id_rsa.pub


将id_rsa.pub的内容,添加到gitlab的SSH key

Profile Settings -> SSH key -> Add an SSH key

配置maven

任务脚本

vi sti_publish.sh

#!/bin/bash
cd /root/project/sti/
v=`git pull  2>&1`
# 判断是否有更新
if [[ $v =~ "Already up-to-date." ]]
then
echo "Going to mvn clean package"
mvn clean package && rm -f /gdtel/tomcat/webapps/sti.war
rm -rf /gdtel/tomcat/webapps/sti && cp /root/project/sti/target/sti.war /gdtel/tomcat/webapps/
echo "move to tomcat is ok"
fi


添加定时任务

安装crontab

yum install vixie-cron
yum install crontabs


开启crontab服务

service crond start //启动服务

#用以下的方法启动、关闭这个cron服务:
service crond start //启动服务
service crond stop //关闭服务
service crond restart //重启服务
service crond reload //重新载入配置

#查看crontab服务状态:service crond status
手动启动crontab服务:service crond start

加入开机自动启动:
chkconfig –level 35 crond on


设置需要执行的脚本

在命令行输入: crontab -e 然后添加相应的任务,wq存盘退出。

直接编辑/etc/crontab 文件,即vi /etc/crontab,添加相应的任务。

crontab -e

# 每间隔15分钟运行脚本
*/15 * * * * /root/project/publish_sti.sh


设置完毕!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  maven gitlab git nexus