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项目自动git打包发布重启Tomcat
- 利用Ant实现项目自动构建测试备份并发布到项目web
- 利用Ant实现项目自动构建测试备份并发布到项目web(3)
- Jenkins+GIT+Maven+Shell 实现项目一键发布
- 利用Ant实现项目自动构建测试备份并发布到项目web(4)
- Java开发流程自动化(svn+maven+nexus+jenkins) --自动编译,持续集成,测试,打包,发布/部署
- Java开发流程自动化(svn+maven+nexus+jenkins) --自动编译,持续集成,测试,打包,发布/部署
- 利用Ant实现项目自动构建测试备份并发布到项目web(2)
- Jenkins自动发布Git,Maven项目
- 利用Ant实现项目自动构建测试备份并发布到项目web
- 利用Ant实现项目自动构建测试备份并发布到项目web(1)
- 发布Silverlight项目自动生成模板,自动生成Silverlight调用RIA Service实现数据增删查改
- Linux编写Shell脚本自动同步svn并发布maven项目-Linux服务器用户设置
- 通过Git WebHooks+脚本实现自动更新发布代码之Shell脚本(二)
- 通过Git WebHooks+脚本实现自动更新发布代码
- git+maven+jenkins 自动发布环境搭建
- 通过Git WebHooks+脚本实现自动更新发布代码之shell脚本
- svn提交自动更新服务器端web项目测试站点(使用svn的hooks实现)
- 通过Git WebHooks+脚本实现自动更新发布代码之shell脚本
- maven之发布项目到nexus【clean deploy命令】(八)