jenkins(二)项目构建
通过上一篇“jenkins(一)集成环境搭建示例”,已经完成了jenkins的安装,基本配置,启动,下面继续小结jenkins使用
一、jenkins系统配置
访问jenkins,点击系统管理->系统设置 进入Jenkins->configuration页面
1、配置jdk
点击JDK安装…… 按钮,输入已经装好的jdk路径
2、 配置构建工具maven
点击Maven安装……按钮,也可以把已经安装好的路径配置上去
注:build tools还有Ant,或者通过ShellScript来构建(linux/unix上)
3、配置版本控制工具Git
3.1首先,需要安装 “Git Plugin”到jenkins
点击系统管理->管理插件 在"可选插件"Tab里找到 Git Plugin ,安装该插件, 装完后重启, 在“已安装”Tab可找到该插件
3.2 回到系统设置页面, 在Path to Git executable 配置本机git.exe路径
注:版本控制工具还可以配置SVN,CSV等
4、上面讲述了正常运作的基本工具配置, 下面继续添加其他配置解析:
4.1 Quietperiod[生成前等待时间]配置:
配置等待未发生提交变化的时间。 由于 jenkins检测到代码变化时,就自动立即构建,但是有些情况下, 需要多次提交代码到版本控制系统上,此时,可能发生代码还没完整提交就开始构建,造成构建失败, 为防止此种情况发生, 可以配置值X, 则jenkins会在代码变化后等待X秒,如果没在发生代码提交, 才开始构建, 保证稳定性。
4.2配置MailServer:
配置采用什么做emailservices后,才能在构建失败时,发送邮件到指定人
4.3配置代理
到管理插件的“高级”Tab可配置jenkins代理
二、jenkins新建job并配置
1、新建一个job,选择构建一个自由风格的软件项目maventest2为例
2、job配置
2.1通过配置Git库URL告诉jenkins源代码位置,如下图:
发现用https://jenniferhuang:{password}@github.com/jenniferhuang/maventest2.git 形式来配置路径, 比较不会出错
2.2 在“构建触发器”里配置构建周期、触发方式
选择"Build when a change is pushed to GitHub "和"Poll SCM ",这两项的作用分别是当GitHub有版本库更新时触发Jenkins进行构建和定期检查版本库是否有更新,如果有更新则触发Jenkins进行构建,如下图,表示每10分钟检查一次版本库是否更新
另外Freestyle job,还有别的构建触发方式:
比如:在其他项目构建完成后才执行构建,
Build periodically: 输入cron表达式, 按照表达式周期定时触发
2.3 添加构建步骤
在构建里,点击“增加构建步骤”,选择Invoke top-level Maven targets,输入如下图:
通过maven知识,可以知道,mvn clean package 命令, 将删除之前build artifacts、编译代码、跑单元测试,并生成.jar文件
maven入门知识见 “maven(一)初步搭建,项目结构”
其他构建步骤:
上述采用maven,选择Invoke top-level Maven targets,命令还有clean install,
javadoc:javadoc cobertura:cobertura等(需要装上javadoc plugin,cobertura plugin)
另外, 还有几种构建方式,如
有些构建方法需要安装插件, 如execute groovy script, 需要先安装groovy plugin,增加构建步骤时,才有这个选项
PS:jenkins添加插件的一般步骤:
A:在插件管理里,添加插件;B:步骤A后, 在系统管理页面就提供该插件安装路径的配置;C:建job时,就可以引用该插件去构建等。
2.4 配置构建后操作
配置maven项目构建后, 输出报告路径(maven的输出目录target/surefire-reports)
配置构建结果归档,构建输出报告, javadoc报告, 代码覆盖报告等:
构建产物javadoc,默认路径在..\jobs\maventest2\workspace\target\site\apidocs,(需要2.3构建步骤有添加javadoc:javadoc)
代码覆盖报告,(需要2.3构建步骤有添加cobertura:cobertura)
三、开始构建
1、保存 完job后,回到该job的主页面,等一分钟左右自动编译,或者到jenkins主页面,点击 计划构建按钮
2、构建完毕后,在页面左下角显示了构建历史记录,如下图:
3、点击上面构建历史记录的链接,查看构建结果详情页面如下图:
4、在上面详情页面点击“控制台输出”,查看出错详情,如下图:
jenkins(二)项目构建的更多相关文章
- Jenkins+Sonar 项目构建前代码审查
一.sonar简介 1.概述 Sonar (SonarQube)是一个开源平台,用于持续检查代码质量,不只是一个质量数据报告工具,更是代码质量管理平台. 支持Java, C#, C/C++, PL/S ...
- Jenkins配置项目构建后的钉钉通知
首先在任意一个钉钉群里创建自定义的钉钉机器人,然后能够看到钉钉开放的webhook 复制webhook Jenkins中安装钉钉插件,然后在项目的配置当中,构建后操作里添加钉钉报警 url一般默认已经 ...
- Jenkins配置项目构建的钉钉通知
在任意一个钉钉群里创建自定义的钉钉机器人,然后能够看到钉钉开放的webhook,复制webhook. Jenkins中安装钉钉插件,然后在项目的配置当中,构建后操作里添加钉钉报警. 安装钉钉通知插件 ...
- Maven学习小结(二 项目构建过程)
1.创建Maven项目 1.1 创建Maven项目的约定目录结构 1.2 编辑pom.xml <project xmlns="http://maven.apache.org/POM/4 ...
- Jenkins 通过 maven 构建编译 JAVA 项目环境
Jenkins 通过maven 构建编译 JAVA 项目环境 官网下载合适Jenkins版本包: 1.jenkins http://mirrors.jenkins.io/war-stable/ 2.J ...
- IDEA整合Jenkins界面化管理项目构建
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/WALK_MAN_wubiao/articl ...
- 在Redhat上为.Net 项目构建基于Jenkins + Github + Mono 的持续集成环境
在Redhat enterprise 6.5 的服务器上,为在gutub 上的 .net 项目构建一个持续集成环境,用到了Jenkins和mono.因公司的服务器在内网,访问外网时要通过代理,所以在很 ...
- Net 项目构建基于Jenkins + Github + Mono 的持续集成环境
Net 项目构建基于Jenkins + Github + Mono 的持续集成环境 阅读目录 1 安装 2 配置 3 测试 在Redhat enterprise 6.5 的服务器上,为在gutub 上 ...
- jenkins:一个jenkins项目远程触发另一个jenkins项目构建配置
很多时候,我们会有这样的应用场景:一个jenkins上的项目构建后,需要远程触发另一台机子上的jenkins中某个项目的构建,可以通过Parameterized Remote Trigger Conf ...
随机推荐
- linux内核申请内存函数
kmap函数: 把某块高端内存映射到页表,然后返回给用户一个填好vitual字段的page结构 建立永久地址映射,不是简单的返回virtual字段的pageioremap: 驱动程序 ...
- HW2.11
控制台: import java.util.Scanner; public class Solution { public static void main(String[] args) { Scan ...
- 使用 IntelliJ IDEA 导入 Spark 最新源码及编译 Spark 源代码
前言 其实啊,无论你是初学者还是具备了有一定spark编程经验,都需要对spark源码足够重视起来. 本人,肺腑之己见,想要成为大数据的大牛和顶尖专家,多结合源码和操练编程. 准备工作 1.sca ...
- IE-首页跳转到 q160的问题解决
IE首页跳转到 q160的问题解决 服了又中找了,IE快捷方式被 www.q160.com劫持 该死的这个网站什么也没有做,就是做了一个google搜索的连接. 进行了一次搜索 http: ...
- [poj 2186]Popular Cows[Tarjan强连通分量]
题意: 有一群牛, a会认为b很帅, 且这种认为是传递的. 问有多少头牛被其他所有牛认为很帅~ 思路: 关键就是分析出缩点之后的有向树只能有一个叶子节点(出度为0). 做法就是Tarjan之后缩点统计 ...
- struts总结
struts总结 1.为什么学习Struts框架 a.Struts框架好处 struts2是主流的开发技术,大多数公司在使用,struts把相关的servlet组件的各种操作都进行了相应的封装,这样就 ...
- IOS 10适配https 包含对于一些http的一些兼容配置
iOS10 从2017年1月1日起苹果提出所有新提交的App默认不允许使用NSAllowsArbitraryLoads来绕过ATS的限制,也就是说强制我们用HTTPS,如果不这样的话提交App可能会被 ...
- JIRA 6.0.1 (ZIP Archive)最新破解方法,绝对可用
国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...
- Java实现文件的RSA和DES加密算法
根据密钥类型不同将现代密码技术分为两类:对称加密算法(秘密钥匙加密)和非对称加密算法(公开密钥加密) 对称钥匙加密系统是加密和解密均采用同一把秘密钥匙,而且通信双方都必须获得这把钥匙,并保持钥匙的秘密 ...
- 在Apache Tomcat 7设置redis作为session store
在Apache Tomcat 7设置redis作为session store //输出tomcat控制台日志 root@ubuntu:~# cd /usr/tomcat/apache-tomcat- ...