Jenkins+Maven构建web应用
2017-01-10 本文已影响220人
hutou
Jenkins
Jenkins是一款优秀的持续集成工具,源于Hudson,后来由不同的团队维护,两者的使用方法,插件大部分通用,开发方法也大同小异。
基于 Jenkins 快速搭建持续集成环境
Jenkins Gitlab持续集成打包平台搭建
资源整合
好的学习资源
持续集成
持续集成正是针对这一类问题的一种软件开发实践,对于提高软件开发效率并保障软件开发质量提供了理论基础。它倡导团队开发成员必须经常集成他们的工作,甚至每天都可能发生多次集成。而每次的集成都是通过自动化的构建来验证,包括自动编译、发布和测试,从而尽快地发现集成错误,让团队能够更快的开发内聚的软件。
持续集成CI的特点
- 任何人在任何地点,任何时间可以构建整个项目
- 在持续集成构建过程中,每一个单元测试都必须被执行
- 在持续集成构建过程中,每一个单元测试都必须通过
- 持续集成构建的结果是可以发布的软件包
- 当以上任何一点不能满足时,整个团队的主要任务就是去解决这个问题
持续集成的系统构成
一个自动构建过程,包括自动编译、分发、部署和测试等
一个代码存储库,即需要版本控制软件来保障代码的可维护性,同时作为构建过程的素材库
一个持续集成服务器
Jenkins设置
-
如何设置邮件发送
系统管理->系统设置
输入一个存在的邮箱,进行发送测试工作
图片.png
Jenkins配置测试
源码控制为SVN,使用Maven进行打包
- 创建一个自由流程的项目
-
配置项目信息
项目配置信息 -
源码控制配置
源码控制配置 -
构建触发器
构建触发器 -
构建配置
构建配置 -
构建后操作
构建后邮件通知
注:下面是使用的pom.xml中的build的内容
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.7</source>
<target>1.7</target>
<compilerArgument>-Xlint:all</compilerArgument>
<showWarnings>true</showWarnings>
<showDeprecation>true</showDeprecation>
</configuration>
</plugin>
<plugin>
<!-- maven install时跳过test -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
</plugins>
<testResources>
<testResource>
<directory>src/test/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</testResource>
<testResource>
<directory>src/test/resources</directory>
</testResource>
</testResources>
</build>
远程web发布
准备使用Jenkins进行远程web的发布
-
选择插件
远程发布插件 - 在job的构建后操作中增加如下内容
发布配置内容
需要注意:tomcat的管理者用户需要有足够的权限,在conf\tomcat-users.xml中进行配置
<role rolename="admin-gui"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="admin" password="123456" roles="admin-gui,manager-gui,manager-script"/>