首页 > 服务配置 > 发布系统之jenkins-maven-svn
2016
03-02

发布系统之jenkins-maven-svn

公司的更新发布系统刚开始一般用shell,再升级为jenkins,最后是自写的发布平台,下面介绍一下jenkins+maven的发布系统,可以理解为shell操作的图形化平台。
jenkins是开源的自动化服务提供者,java平台,有数以百计的插件,为几乎任何项目提供构建,测试,部署的自动化程序
maven是一个管理包、打包工具。Maven可以从svn、git仓库管理一个项目的构建、报告、文档.

安装jenkins

发布系统之jenkins-maven-svn - 第1张  | linux工匠|关注运维自动化|Python开发|linux高可用集群|数据库维护|性能提优|系统架构

安装maven

发布系统之jenkins-maven-svn - 第2张  | linux工匠|关注运维自动化|Python开发|linux高可用集群|数据库维护|性能提优|系统架构

安装svn(支持http)

创建文件夹,构建最简单的项目

配置jenkins

上面的步骤打了一个jar包,一个war包,过程不清楚的话参考下面图片介绍:

一,系统设置

jenkins–系统管理–系统设置–设置jdk和maven的安装路径发布系统之jenkins-maven-svn - 第3张  | linux工匠|关注运维自动化|Python开发|linux高可用集群|数据库维护|性能提优|系统架构

二,jenkins–新建–构建一个自由风格的软件项目(当然可以选择构建maven项目,不过这样会更自由)名字叫test吧

1,源码管理–Subversion–Repository URL 这里写项目的svn地址,就是包含pom.xml文件的svn地址。有红色的错误是因为svn没有认证,enter credential链接输入svn的用户名和密码(保存密码),刷新此页面

2,设置maven打包命令发布系统之jenkins-maven-svn - 第4张  | linux工匠|关注运维自动化|Python开发|linux高可用集群|数据库维护|性能提优|系统架构

3,打包之后的操作

在maven打包完成后,可以执行rsync或者scp删除远程服务器的包,并且把新生成的包发送过去,可以用execute shell,把传输的shell脚本放里面

发布系统之jenkins-maven-svn - 第5张  | linux工匠|关注运维自动化|Python开发|linux高可用集群|数据库维护|性能提优|系统架构

构建后操作–增加构建后操作步骤,如果是下面这种方式,需要安装Publish over SSH插件,并且在系统管理–系统设置–Publish over SSH配置主机的信息,私钥的密码,私钥地址,私钥,下面是用此私钥登录远程服务器的ip,用户名,端口等信息,比如

发布系统之jenkins-maven-svn - 第6张  | linux工匠|关注运维自动化|Python开发|linux高可用集群|数据库维护|性能提优|系统架构

上面对web1的配置,有一个remote directory,所以下面的配置/tmp/work就覆盖了此目录

发布系统之jenkins-maven-svn - 第7张  | linux工匠|关注运维自动化|Python开发|linux高可用集群|数据库维护|性能提优|系统架构

发布系统之jenkins-maven-svn - 第8张  | linux工匠|关注运维自动化|Python开发|linux高可用集群|数据库维护|性能提优|系统架构

使用tomcat查看

tips:
如果maven要跳过测试打包:
mvn clean install -Dmaven.test.skip=true
如果不用maven打包,配置jenkins时,选择“构建一个自由风格的软件项目”
maven常用插件:
Publish Over SSH
SSH Agent Plugin
Subversion Plug-in

我们一般线上肯定不止这么配置,为了方便一般对服务分组,更简单的做发布

1,对服务分组,比如 web组,server组
2,发布前,先备份(一样在jenkins中设置)
3,如果有测试,按整个组发布;如果木有测试,先发web组的一台机,在ELK后台查看日志,没问题再按组发
4,用shell写个邮件,发布完成,邮件通知大家发布完成,这一步可以忽略

发布系统之jenkins-maven-svn - 第9张  | linux工匠|关注运维自动化|Python开发|linux高可用集群|数据库维护|性能提优|系统架构

每一个项目中,可以添加多台服务器(SSH Publishers),这样不至于烦死
最后,记得给jenkins添加密码

by:http://bbotte.com/

最后编辑:
作者:bbotte
这个作者貌似有点懒,什么都没有留下。

留下一个回复

你的email不会被公开。