https://jenkins.io/,官网首页,点击[Download]按钮进入到下载页面,如下图所示:
下载左边lts的,长期支持的。
选择最后一个下载即可,其实就是一个war包,也就是说,Jenkins是以web应用的形式存在的,
直接把war文件拷贝到Tomcat/webapps下就完成了安装, 启动Tomcat后就可以在浏览器
中通过访问http://localhost:8080/jenkins/来使用Jenkins
下载完:
直接放到webapps下:
首次访问需要输入admin管理员的默认初始密码,该密码可以按下图中红色字体显示的位置进行查找
下图就是我们根据红色字体显示的位置找到的初始密码:
弹出插件安装页面直接关了,后边再装插件。
使用该密码登录成功后即可进入Jenkins的管理首页,如下图所示:
注意事项: Jenkins2.3以后的版本需要JDK 7及以上版本, 需要Tomcat 6及以上的版本
Jenkins提供了非常丰富的插件, 这些插件大大增强了Jenkins的功能, 为了实现持续集成的目标,我们需要
先安装两个最基本的插件: 代码仓库插件和服务器部署插件
安装Git插件
这里我们选择Git作为CI系统中的版本控制工具, 因此我们需要在Jenkins中安装Git插件, 该插件可以帮助Jenkins从Git代码仓库中获取项目代码
安装服务器部署插件
这里我们选择Tomcat 7作为项目服务器, 因此我们我们需要在Jenkins中安装服务器部署插件, 该插件可以帮助Jenkins把编译打包后的项目部署到Tomcat服务器中
卸载插件
我们也可以根据需要卸载不用的插件, 在[已安装]选项卡页面中显示的就是当前Jenkins中已安装的插件, 勾选某个插件后点击右侧的[卸载]按钮即可完成插件的卸载操作
要想使用Jenkins实现持续集成, 必须先了解并进行一些基本配置
如上图所示: 我们需要进行三方面的配置: 用户管理, 系统设置, Global Tool Configuration
系统设置
在系统设置页面中需要做以下配置, 如图所示:
Jenkins URL是你所在的团队中Jenkins系统的访问路径, 根据实际情况填写即可, 系统管理员邮件地址也是根据团队实际情况填写即可, Jenkins将来会通过该邮件地址向团队中的其他成员发一些通知邮件
上图是配置SMTP的一些信息, 根据实际情况填写即可, 为了验证配置是否成功, 可以在最下方的文本框中输入自己的一个邮箱地址, 然后点击[Test configuration]按钮发送一份邮件测试一下
注意事项: 上述这些配置是必须的, 否则将来Jenkins在进行系统集成时会报错
全局工具配置
Global Tool Configuration即全局工具配置, 主要用来配置JDK, Git和Maven的环境信息, 因为Jenkins需要通过这些环境配置来实现自动化的代码获取,自动化的编译和打包功能, 如下图所示:
JDK环境配置
不建议勾选[自动安装], 因为它会在线下载JDK并安装到本地, 建议提前在本地安装好JDK, 然后根据实际安装路径填写即可, 那个别名可以随意填写
Git环境配置
不建议勾选[自动安装], 因为它会在线下载Git并安装到本地, 建议提前在本地安装好Git, 然后根据实际安装路径填写即可, 那个别名可以随意填写
Maven环境配置
不建议勾选[自动安装], 因为它会在线下载Maven并安装到本地, 建议提前在本地安装好Maven, 然后根据实际安装路径填写即可, 那个别名可以随意填写
管理用户
我们以管理员身份登录后, 可以对Jenkins系统中的用户进行管理, 例如: 获得用户信息, 新建用户, 修改登录密码等
获得用户信息
点击系统首页左侧的[系统管理], 在右侧的页面中点击[管理用户]菜单即可得到当前Jenkins系统中的所有用户信息, 如下图所示:
修改登录密码
点击上图中某个用户后面的齿轮图标即可进入到用户编辑页面, 在该页面的底部可以修改登录密码, 如下图所示:
新建用户
点击上上图中左侧[新建用户]菜单, 即可进入到新建用户的页面, 如下图所示:
对于Jenkins来说, 持续集成包含自动获取代码,自动编译和打包,自动部署运行三个最基本的过程, 整个过程就是一个任务, 任务操作是Jenkins的重中之重, 通过任务才能最终实现自动化的持续集成
创建新任务
在Jenkins后台首页中直接就可以创建一个新任务, 如下图所示:
1.设置任务名称并选择任务类型, 如下图所示:
Item name可以随意命名, 任务类型选择第一个[构建一个自由风格的软件项目], 这样就可以在接下来的操作中使用Git和Maven, 点击上图中的[OK]按钮后就进入到了新建任务向导中, 一共有五个向导页面需要配置, 如下图所示:
2.向导一:General配置
该向导中的配置项比较多, 只需要关注如下两个配置项即可
Jenkins每次构建都会产生相关的很多信息,这些信息默认随着每次的构建都会保存下来, 时间长了会比较占用空间, 而且这些信息也没太大用处, 上图中[丢弃旧的构建]就是用来设置保存策略的, 可以通过天数或个数来进行控制
Jenkins在构建时需要从代码仓库中获取项目代码, 上图用来设置获取项目代码失败的重试次数
3. 向导二:源码管理
由于Jenkins需要通过版本控制工具(例如:Git)来获取项目源码,因此需要配置代码仓库的位置和认证信息, 上图中的[Respositiory URL]就是你所在团队中代码仓库的位置, 请根据实际情况填写, 如果该代码仓库需要通过账号和密码进行认证, 请点击上图中的[Add]按钮添加这些信息即可
4.向导三:构建触发器
这里用来设置Jenkins何时从代码仓库中获取代码并开始构建, 可以使用脚本也可以设置时
间, 建议勾选最后一项, 并在日程表中填入构建时间表达式, 该表达式的具体写法可以点击右侧的[问号]图标查看帮助文档, 如下图所示:
一个构建时间表达式包含五部分数据: MINUTE,HOUR,DOM,MONTH,DOW, 具体介绍如下:
每部分数据的取值可以是具体数字, 星号(*), 和Hash(H), 星号(*)表示任意取值, Hash(H)表示随机时间或取值范围, 例如:
H/10 * * * *表示从当前时间开始每隔10分钟构建一次
H(0-29)/10 * * * *表示每个小时的前一半时间中每隔10分钟构建一次
5.向导四:构建
点击上图中的[增加构建步骤]按钮, 选择最后一个下拉菜单项[Invoke top-level Maven Targets], 表示构建时通过Maven进行自动编译和打包
Maven Version一项选择的是前面在进行Maven环境配置时的name, Goals一项填写的是构建时要执行的Maven命令
6.构建测试
经过上述向导的配置, 一个任务就创建成功了, 接下来就可以尝试构建一次, 如下图所示:
点击上图中左侧的[立即构建]就开始对刚才的”HelloWorld”任务进行构建, 如下图所示:
在上图的左侧底部可以看到#20, 这表示是第20次进行任务构建, 在#20上面点击一下会看到一个下拉菜单, 选择第二项[Console Output]可以查看构建过程中的日志输出信息, 如下图所示:
在这里可以观察到构建是否成功
7、管理任务
我们可以使用Jenkins创建很多个任务, 每个任务创建成功后可以进行很多次构建, 当然, 我们也可以对创建后的任务进行管理, 如下图所示:
点击任意一个任务的名字可以打开一个下拉菜单, 点击菜单中的[删除Project]就会把该任务删除, 点击[配置]菜单项就可以重新打开向导页面修改创建任务时的配置信息
8、任务构建后的操作
任务构建成功后, 对于C/S架构的软件接下来可以直接运行, 对于B/S架构的软件接下来需要先部署到Web服务器中才能运行
部署配置
1.这里我们创建了一个最简单的Maven工程, 名字叫helloworld, 该工程中包含一个index.html页面, 如下图所示:
2. 把该工程提交到Git代码仓库中, 如下图所示:
3、给Tomcat服务器配置角色和管理员用户
打开tomcat-users.xml, 该文件用来配置Tomcat服务器的角色和管理员用户, 配置这些信息是Jenkins要求的, user标签中username和password属性的值可以自己设置, 其他部分照抄即可
4、给刚才新建的任务增加一个构建后的操作, 完成部署配置
点击[增加构建后操作步骤]按钮, 在菜单中点击[Deploy war/ear to a container]菜单项根据实际情况配置一个Web服务器, 如下图所示:
这里我们选择Tomcat 7.x, 然后把你所在团队中使用的Tomcat服务器的相关信息配置一下, 如下图所示:
WAR/EAR files一项用来填写你构建的项目的名字(编译打包后的名字),一定要注意路径
Context path一项用来填写访问路径, 就是http://localhost:8080/xxx/index.html中xxx的信息
Manager user name一项用来设置Tomcat服务器管理员账号, Manager password一项用来设置Tomcat服务器管理员密码, 这两项要跟前面tomcat-users.xml文件中的配置保持一致
Tomcat URL一项请根据实际情况填写即可
每次任务构建结束后, Jenkins都会通过一些图标显示任务状态, 如下图所示:
上图中第一个红框S表示构建状态, 第二个红框W表示编译稳定性, 具体解释如下所示:
Successful表示完成构建,且被认为是稳定的
Unstable表示完成构建,但被认为不稳定
Broken表示构建失败
Disabled表示构建已禁用
Jenkins会通过包括单元测试(JUnit)、覆盖率(Cobertura )和静态代码分析(FindBugs)来判断编译稳定性, 分数越高越稳定, 任何任务构建后若低于60分就是不稳定的
为了便于团队管理和项目监控, Jenkins允许每次构建失败时发送邮件通知团队相关人员, 要想实现这个功能我们需要再次增加一个构建后的操作, 如下图所示:
点击上图中的[增加构建后操作步骤]按钮, 选择最后一项[E-mail Notification], 然后进行如下配置即可
Recipients一项用来填写团队成员收件人邮箱地址, 可以多个, 中间用逗号隔开即可
接下来我修改任务配置信息, 故意把Tomcat管理员密码填错,然后再次构建, 构建失败后立即就收到了通知邮件, 如下图所示: