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

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 "[email protected]"
ssh-keygen -t rsa -C "[email protected]"
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,java,linux)