文档章节

持续集成工具Jenkins学习总结

shzwork
 shzwork
发布于 05/18 22:40
字数 1041
阅读 40
收藏 7

概述  

  持续集成(Continuous Integration,简称CI)是一种软件开发实践,团队开发人员每次都通过自动化的构建(编译、发布、自动化测试)来验证,从而尽早的发现集成错误。持续集成最大的优点是避免了传统模式在集成阶段的除虫会议(bug meeting),其要素包括统一的代码库、自动构建、自动测试、自动部署、频繁提交修改过的代码等。

  Jenkins的前身是Hudson,是基于Java开发的一种持续集成工具,是一个开源软件项目,主要用于:

  • 持续、自动地构建/测试软件项目,如CruiseControl与DamageControl;
  • 监控一些定时执行的任务;

  Jenkins的官网:http://jenkins-ci.org/,下面我总结一下Windows下Jenkins的安装和使用。

Jenkins安装

(1)安装素材

  • JDK(Jenkins运行需要Java 1.6以上的版本)
  • Jenkins安装包(官网下载)

(2)安装JDK

(3)安装Jenkins

  运行Jenkins安装包,按提示安装即可,安装成功之后会自动打开网页http://localhost:8080/,Jenkins主界面如下所示:

Jenkins配置

(1)配置http端口号

  Jenkins默认端口号是8080,如果该端口号与其他任务的端口号冲突,就需要更改。打开Jenkins安装目录下的Jenkins.xml文件,如下所示:

复制代码
<!--
  Windows service definition for Jenkins

  To uninstall, run "jenkins.exe stop" to stop the service, then "jenkins.exe uninstall" to uninstall the service.
  Both commands don't produce any output if the execution is successful. 
-->
<service>
  <id>jenkins</id>
  <name>Jenkins</name>
  <description>This service runs Jenkins continuous integration system.</description>
  <env name="JENKINS_HOME" value="%BASE%"/>
  <!--
    if you'd like to run Jenkins with a specific version of Java, specify a full path to java.exe.
    The following value assumes that you have java in your PATH.
  -->
  <executable>%BASE%\jre\bin\java</executable>
  <arguments>-Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "%BASE%\jenkins.war" --httpPort=8080</arguments>
  <!--
    interactive flag causes the empty black Java window to be displayed.
    I'm still debugging this.
  <interactive />
  -->
  <logmode>rotate</logmode>

  <onfailure action="restart" />
</service>
复制代码

  将<arguments>元素中的httpPort的值8080改为其他值即可。

(2)管理插件

  Jenkins默认安装了一些插件,可根据自己的需要再安装其他插件,我额外安装的插件有:MSBuild plugin、MSTest plugin、Git plugin、GitHub plugin、Email Extension plugin等。

(3)配置JDK

  

(4)配置Git和GitHub

  

(5)配置MSBuild

  

  这个MSBuild是我编译DotNet程序用的,如果编译其他的(如C++程序),可点击Add MSBuild增加相应的MSBuild。

  注意:如果电脑上未安装,可从其他电脑上拷贝一个。

(6)配置Extended E-mail Notification

  问题:这样设置后还是出现“邮件发送失败”,如果哪位解决了,还请告知,谢谢

Jenkins构建项目

(1)新建项目

  在Jenkins首页点击New Item,Item Name:JenkinsTest,选择freestyle Project,OK

(2)常规设置

  勾选GitHub Project,输入Project url,如我的是“https://github.com/GaoHongchen/WinFormGit.git/”

(3)设置Source Code Management

  在Source Code Management项中,选择Git,填写Repository URL:https://github.com/GaoHongchen/WinFormGit.git,其他默认

(4)设置Build Triggers

  根据自己的情况进行勾选,我选的是Build when a change is pushed to GitHub

(5)设置Build

  点击Add Build Step,进行选择:

  1)Build a Visual Studio Project or solution using Build

  

  2)Execute Windows batch command

  

  Windows Batch Command如下:

"D:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe" /rebuild "Debug" "%WORKSPACE%\WinFormGit\WinFormGit.sln" /out C:\WinFormGit.log

  以上两种Build方式殊途同归,本项目中选择一种即可。

(6)设置Post-build Actions

  点击Add post-build Action,我选择EMail notification,如下所示:

  

(7)开始构建

  设置完成后,点击左侧的Build Now,开始进行构建

(8)构建结果

  点击Console Output,查看构建过程及结果。若构建失败,在此可查看失败原因。

  Console Output如下:

 Console Output

  最终,项目构建状态如下:

  为了配置好Jenkins,我可是构建了12次啊。虽然花费了不少时间,但学会了用Jenkins持续集成,这还是令人高兴的,哈哈。。。

=======================================================================
中文名:高洪臣
英文名:Gordon Scott
E-mail:gaohongchen01@163.com
======================================================================

本文转载自:https://www.cnblogs.com/gaohongchen01/p/5058928.html

shzwork
粉丝 15
博文 825
码字总数 11168
作品 0
厦门
私信 提问
【Jenkins系列】Jenkins详细介绍

软件概述 Jenkins是一个基于MIT License协议的开源软件项目,是基于Java开发的一种持续集成(CI)工具,用于监控持续重复的工作,它可以集成各种插件完成持续编译、部署、测试,并将Job运行结...

PeterChen_
2017/10/02
0
0
React Native 【学习总结】-【Jenkins集成】

简述 Jenkins是一个持续集成工具,它本身有很丰富的插件提供使用,方便持续集成,为开发省时省力,下面是项目中对新的RN项目做的持续集成例子,通过该例子学会如何使用jenkins。 Jenkins安装...

Pape
2018/05/18
0
0
使用Gitlab和Gitlab CI做持续集成(理论篇)

持续集成是一种软件开发实践。 在持续集成中,团队成员频繁集成他们的工作成果,一般每人每天至少集成一次,也可以多次。 每次集成会经过自动构建(包括自动测试)的检验,以尽快发现集成错误...

donhui
2016/07/25
5.4K
11
fir.im weekly - 「 持续集成 」实践教程合集

我们常看到许多团队和开发者分享他们的持续集成实践经验,本期 fir.im Weekly 收集了 iOS,Android,PHP ,NodeJS 等项目搭建持续集成的实践,以及一些国内外公司的内部持续集成系统的经验,...

风起云飞fir_im
2016/05/09
148
0
跟我一起学docker(十)--jenkins的使用

什么是Jenkins? jenkins是一个广泛用于持续构建的可视化web工具,持续构建说得更直白点,就是各种项目的"自动化"编译、打包、分发部署。jenkins可以很好的支持各种语言(比如:java, c#, php...

IT人故事会
2018/05/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

75、GridFS

GridFS是MongoDB提供的用于持久化存储文件的模块,CMS使用Mongo DB存储数据,使用FGridFS可以快速集成开发。 工作原理: 在GridFS存储文件是将文件分块存储,文件会按照256KB的大小分割成多个...

lianbang_W
今天
4
0
js bind 绑定this指向

本文转载于:专业的前端网站➱js bind 绑定this指向 1、示例代码 <!DOCTYPE html><html lang="zh"> <head> <meta charset="UTF-8" /> <title>bind函数绑定this指向......

前端老手
今天
4
0
CentOS Linux 7上将ISO映像文件写成可启动U盘

如今,电脑基本上都支持U盘启动,所以,可以将ISO文件写到U盘上,用来启动并安装操作系统。 我想将一个CentOS Linux 7的ISO映像文件写到U盘上,在CentOS Linux 7操作系统上,执行如下命令: ...

大别阿郎
今天
4
0
深入vue-公司分享ppt

组件注册 全局注册 注册组件,传入一个扩展过的构造器 Vue.component('my-component', Vue.extend({/*...*/})) 注册组件,传入一个选项对象(自动调用Vue.extend) Vue.component('my-comp...

莫西摩西
今天
5
0
gitlab重置管理员密码

登录gitlab服务器 [root@localhost bin]# sudo gitlab-rails console productionLoading production environment (Rails 5.2.3)irb(main):001:0> u = User.where(email: 'admin@example.co......

King华仔o0
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部