3.1    Jenkins安装    2

3.1.1    Jenkins下载    2

3.1.2    Jenkins 安装    2

3.1.3    Jenkins 目录结构    3

3.2    Jenkins系统管理    3

3.2.1    系统配置    4

3.2.2    插件管理    4

3.3    创建一个任务    5

3.3.1    安装MSBuild Plugin插件    5

3.3.2    创建新任务    6

3.4    自动测试    8

3.4.1    相关插件安装    9

3.4.2    配置任务    9

3.5    代码质量管理    11

3.5.1    相关插件安装    12

3.5.2    使用FxCop分析程序集    12

3.5.3    使用StyleCop审查代码    13

3.5.4    展示分析结果    14

3.6    用户权限管理    16

3.6.1    使用系统自带的授权机制    16

3.6.2    Role-basedAuthorization Strategy授权机制    17

3.7    构建通知    19

3.7.1    通过邮件通知    19

3.7.2    通过实时消息通知    20

  1. Jenkins安装

  2. Jenkins下载

    由于Jenkins是开源的,可以直接下载其源代码自行编译,也可以下载发布好的文件,下载地址为:http://mirrors.jenkins-ci.org/war/latest/jenkins.war

  3. Jenkins 安装

    Jenkins是用Java语言开发的系统,首先要确定服务器上已经安装JDK或者JRE。

    安装方式一

    直接运行java –jar Jenkins.war,在浏览器中输入 http://localhost:8080即可。

    安装方式二

    安装Tomcat。

    添加环境变量JENKINS_HOME,该变量为jenkins系统的工作目录,如下图:

    (注意:该目录对于jenkins极为重要,系统所有相关的配置、数据文件等都存放于此,所以一定要确保该目录有足够的空间)。

    修改Tomcat 程序conf/server.xml文件,在Host结点下添加<Context path="/jenkins" docBase="G:\WWWRoot\jenkins\jenkins.war" reloadable="true" />,其中path表示jenkins系统的访问跨径,docBase表示jenkins程序文件所在位置。

    启动Tomcat,输入http://localhost:8080/jenkins打开系统,如下图,(如能正常打开系统,表示系统安装成功)。

  4. Jenkins 目录结构

    Jenkins 所有数据存放在JENKINS_HOME所设置的目录下,如果没设置此变量,数据将会保存在 我的文档/.jenkins目录下。目录结构如下:

    JENKINS_HOME

    +- config.xml (配置文件)

    +- *.xml (其它配置文件)

    +- userContent (用户授权文件)

    +- plugins (插件)

    +- jobs

    +- [JOBNAME] (存放所有的Job的文件)

    +- config.xml (job 配置文件)

    +- workspace (存放系统代码)

    由于Jenkins没有数据库存,所以备份、删除、移动数据非常方便。备份是要备份JENKINS_HOME目录即可,恢复时要先停止jenkins。对于移动或删除jobs,只需要简单地移动或删除%JENKINS_HOEM%\jobs目录。对于修改jobs的名字,只需要简单地修改%JENKINS_HOEM%\jobs下对应job的文件夹的名字。对于不经常使用的job,只需要对%JENKINS_HOEM%\jobs下对应的jobs的目录zip或tar后存储到其他的地方。

  5. Jenkins系统管理

    在使用系统之前,还需要对系统进行一些基本的配置,如下图:

  6. 系统配置

    系统配置是Jenkins配置中非常重要的一个页面,如下图。

    在系统配置页面,可以配置JDK、MSBuild、源代码控制等。几乎所有的插件安装后有需要配置的都会在这里呈现。

  7. 插件管理

    Jenkins是一个可扩展的系统,其很多功能都利益于各式各样的插件,现Jenkins中已有超过200个各种不同功能的插件。所以插件对于Jenkins是非常重要的。

    Jenkins的插件安装可离线安装,也可在线安装。打开插件管理页面,如下图:

    在这里可轻松的管理插件。

    注意:插件安装完成后,一般需要重启系统,还需要到系统配置页面对插件进行配置,插件才能起作用。

  8. 创建一个任务

  9. 安装MSBuild Plugin插件

    在创建一个任务之前,需要添加一些必须的插件。由于例子是C#写的,首先需安装MSBuild插件

    安装完MSBuild Plugin插件后,还需在系统配置里进行配置。进入系统配置目录,找到刚安装的插件

    点击MSBuild安装,添加MSBuild的配置,如下图,分别添加了.NET FrameWork 4.0 32位和64位MSBuild.exe,在创建任务选择用MSBuild构建时,将同时用32、64位的MSBuild.exe去编译。

    红色框中是MSBuild.exe的路径。

  10. 创建新任务

    点击新建Job,输入任务名称,如下图,选择构建一个自由风格的软件项目,点击确定按钮,进入Job详细配置界面。

    为了能完成一次基本的构建,至少需要做如下设置,在源码管理选项,选择源代码管理工具。

    例子中选择Git作为源代码管理工具,还需安装 Git Plugin和Git Client Plugin作为插件。系统自带SVN插件,若用SVN做源代码管理,则无需再去安装插件。

    选择了代码管理工具,还一关键的一步,添加构建。

    点击增加构建,选择前面安装的MSBuild,将构建文件设置为项目文件,如下图:

    完成这些基本配置后,点击保存按钮,保存配置,返回任务界面,点击立即构建,Jenkins将会自动重源代码服务获取代码,并编译,并显示构建状态。

    红色图标表示构建失败,绿色图标表示构建成功。可以点击控制台输出查看详细的构建信息。

  11. 自动测试

  12. 相关插件安装

    对于C#语言,在自动化测试中,可以用到如下插件:

  • Jenkins MSTestRunner plugin:系统使用MSTest来测试;
  • Jenkins NUnit plugin:系统使用NUit来测试;
  • JENKINS MSTest plugin:来发布MSTest的测试结果。

本例以MSTestRunner和MSTest plugin来作为例子来说明。首先到系统的插件管理界面安装这两个插件,如下图

安装完这两个插件后,重启Jenkins。打开系统配置界面,还需对MSTest进行配置。

红色框是MSTest.exe的路径位置,该工具为VS自带工具。

  1. 配置任务

    安装完前面的插件后,通过配置,就可以让Jenkins在构建的时候自动运行测试用例。

    打开任务的配置界面,在构建项,选择添加构建,运行单元测试。

    添加相关配置,测试文件为我们测试项目所生成的dll或者exe文件。测试结果文件为MSTest.exe所产生的测试结果文件,文件后缀为trx。注意:这里文件是相对路径,相对于项目的路径。

    完成了这一步的配置,系统在构建的时候,就能自动运行测试用例,但系统还不能将测试结果展示出来,要展示结果结果,还需做如下配置。

    在任务配置的构建后的操作里,选择添加后构建后的操作,如下图。

    选择发布MSTest 测试结果报告。

    在测试报告文件中添加前面配置MSTest.exe生的结果文件。

    通过这些基本的配置,系统就能在构建的时候运行测试用例,并将测试结果展示出来。

    在每个任务的主页,有测试结果的统计图。

    对于每次的测试,都有很详细的信息展示。要查看某一次构建的测试结果,可以点击构建历史中的测试结果。

    在测试结果页面中,展示的测试结果的总体详细,点击某个测试名称,还能显示该测试的详细信息。

  2. 代码质量管理

  3. 相关插件安装

    对于C#语言,代码质量管理可用到如下插件:

  • Jenkins FxCop Runner plugin:该插件就是在构建的时候调用FxCop来分析代码。
  • Static Analysis Utilities
  • Jenkins Violations plugin:该插件主要用来展示各种分析工具所产生的结果。

在安装完Jenkins FxCop Runner plugin后,还需对其进行配置。点击系统管理,系统设置,如下图。

点击FxCop安装,设置FxCop程序的路径。

  1. 使用FxCop分析程序集

    FxCop是一个代码分析工具,它依照微软.NET框架的设计规范对托管代码assembly进行检查。它使用基于规则的引擎,来检查出你代码中不合规范的部分;也可以定制自己的规则加入到这个引擎。

    为了能让FxCop在构建系统时运行,还需在任务中添加配置。在构建项目,选择增加构建步骤,选择FxCop exec。

    添加配置信息。程序集名称为我们需要分析的项目所生成的程序集。输入xml文件为分析所产生的结果文件,为xml格式文件。

    完成好这些配置后,系统在构建的时候将会调用配置的工具进行代码分析。

  2. 使用StyleCop审查代码

    StyleCop的终极目标是让所有人都能写出优雅和一致的代码,因此这些代码具有很高的可读性。

    StyleCop不是代码格式化(代码美化)工具,而是代码规范检查工具(Code Review 工具),它不仅仅检查代码格式,而是编码规范,包括命名和注释等。

    StyleCop目的是帮助项目团队执行一系列常用的源代码格式规范,这些规范是关于如何开发布局规整,易读,易维护并且文档良好的优雅代码的 。

    StyleCop现在包含了 200 个左右的最佳实践规则(best practice rules),这些规则与 Visual Studio 2005 和 Visual Studio 2008 中默认的代码格式化规则是一致的。

    StyleCop安装

    StyleCop是微软的开源项目,可到http://stylecop.codeplex.com/下载最新的安装包。在安装该工具的时候,尽量默认安装,并且MSBuild files一定要选上,不然有可能导致不能正常使用。

    为了能让系统在构建时自动运行该工具,需编辑一下项目文件,添加如下配置:

  3. 展示分析结果

    在任务配置页面,构建后操作,增加构建后操作,选择Report Violations。

    在Report Violations配置页面,设置要展示的文件。我闪这里设置FxCop、StyleCop分析所产生的文件。值得注意的是,StyleCop所产生的文件是在obj\Debug目录下。

    完成这些配置后,重新构建任务。任务构建的主页会多出配置的分析报告。

    点击某一项,还可以进入该项的详细分析报表。

  4. 用户权限管理

  5. 使用系统自带的授权机制

    默认地Jenkins不包含任何的安全检查,任何人可以修改Jenkins设置、任务和启动构建等。显然地在大规模的公司需要多个部门一起协调工作的时候,没有任何安全检查会带来很多的问题。 我们可以通过以下2方面来增强Jenkins的安全:

  • Security Realm,用来决定用户名和密码,且指定用户属于哪个组;
  • Authorization Strategy,用来决定用户对那些资源有访问权限;

在系统管理,Configure Global Security页面中启用权限管理。

首先要启用安全,在安全域中选择Jenkins专有用户数据库,并选择允许用户注册。在授权策略选项中选择项目矩阵授权策略。设置好这些基本属性后,就是添加用户。

输入用户名,点击添加系统就添加了用户,但需注意,在这里只添加了用户名,添加的用户还不能登录,还需返回系统注册页面,注册一个与此设置的相同用户名的用户。如下图:

  1. Role-basedAuthorization Strategy授权机制

    打开系统管理,插件管理页面,安装Role-basedAuthorization Strategy插件。

    进入系统管理,系统设置,如下图所示:"安全域"选择使用Jenkins专有用户数据库,可以在初始化的时候勾选"允许用户注册";"授权策略"选择使用"Role-Based Strategy"。

    配置完成后在"系统管理"下新增选项"Manage and Assign Roles"。点击"管理用户"新建账户后即可进行账户,群组的安全策略配置。

    点击Manage and Assign Roles,进入如下界面,页面有添加角色,给角色授权功能。

    点击添加角色,进入角色管理页面。在这里有两种角色,一种是全局角色,一种是项目角色,一般用户需授这两种角色。

    点击Assing Roles,界面用户授权界面。注意:这里添加用户的方式与前面介绍的相同。

  2. 构建通知

  3. 通过邮件通知

    进行系统管理,系统设置页面,设置邮件服务器。

    配置完蛋邮件服务器后,进行任务配置页面,配置邮件通知。

    当完成一次构建后,系统将发送详细的构建信息,如下图。

  4. 通过实时消息通知

    实时消息通知有两种方式,一种是通过Jabber,另一种是通过IRC的方式通知。例子通过Jabber的方式来说明。

    Jabber 是著名的Linux即时通讯服务服务器,它是一个自由开源软件,能让用户自己架即时通讯服务器,可以在Internet上应用,也可以在局域网中应用。Jabber最有优势的就是其通信协议,可以和多种即时通讯对接。

    安装Jabber实时通讯服务器

    到http://www.igniterealtime.org 下载Openfire和Spark。其中Openfire为服务器,Spark为客户端。

    安装好Openfire服务器后,启动相关服务,在其管理界面添加用户。这里新建用户jenkins作为Jenkins系统的账户,如下图。

    为了能上Jenkins能使用Jabber服务,还需安装下图所显示的两个插件。

    安装完这两个插件后,进行系统管理,系统设置页面,配置Jabber插件。

    完成配置后,开发人员可通过Jabber客户端与Jenkins系统交互。Jenkins每次构建后,都将会给用户发送消息,如下图。

    开发人员,还可以通过这个工具与Jenkins服务器交互,如下图。

Jenkins 使用学习笔记的更多相关文章

  1. Jenkins 学习笔记

    Jenkins 的内容网站蛮多的,但是一开始我看起来确实很费劲.似乎好多东西都是悬空的,没有把底层的信息交代清楚. 我把自己对于 Jenkins 的探索过程记录下来,如下. 目录 Jenkins 学习 ...

  2. python + unittest 做单元测试之学习笔记

    单元测试在保证开发效率.可维护性和软件质量等方面有很重要的地位,所谓的单元测试,就是对一个类,一个模块或者一个函数进行正确性检测的一种测试方式. 这里主要是就应用 python + unitest 做 ...

  3. SpringCloud微服务学习笔记

    SpringCloud微服务学习笔记 项目地址: https://github.com/taoweidong/Micro-service-learning 单体架构(Monolithic架构) Mon ...

  4. Puppet学习笔记(CentOS6.3+Puppet3.01)

    Puppet学习笔记(CentOS6.3+Puppet3.01)  技术 Add comments Oct262012 下了决心,好好学习puppet,周末专门去参加一个puppet的培训,难得朋友那 ...

  5. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  6. PHP-自定义模板-学习笔记

    1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 ...

  7. PHP-会员登录与注册例子解析-学习笔记

    1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...

  8. 2014年暑假c#学习笔记目录

    2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...

  9. JAVA GUI编程学习笔记目录

    2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...

随机推荐

  1. JNDI配置c3p0连接池

    JNDI是什么呢? 就是java命名和文件夹接口.是SUN公司提供的一种标准的Java命名系统接口. 不好理解?简单说呢.他就是一个资源,放在tomcat里面的一个资源,今天我们就把数据库连接池放到t ...

  2. Android Environment.getExternalStorageDirectory() 获取的是内部存储还是外部存储?

    这几天在做Android应用的远程更新功能,将下载的更新包放在移动设备上指定的文件夹. 用的是  Environment.getExternalStorageDirectory() 这种方法.然后在获 ...

  3. ios8 xcode6 下的启动界面设置和图标设置

    IOS8 我试了网上不少设置启动动画的,不知道是不是我弄错了还是怎么的,反正启动不了,后来在code4论坛找到了这个: 启动屏幕:LaunchScreen.xib文件 桌面图标等相关app图片:Ima ...

  4. Spring boot发送邮件

    最近接到一个需求:分配任务给用户时,发送邮件提醒用户. 后端应该和Andorid一样有现成的api支持,浏览器里搜索了下,果不其然,很轻松就实现了这个功能,现在记录下. 首先添加Maven依赖 < ...

  5. alias的使用

    alias,即别名.可以通过较短的别名,来实现对应的真实的命令.将alias定义在.bash_profile文件中,即可在任意目录下执行自己定义的这些命令了. 1. 命令 alias myDir='c ...

  6. UEFI是什么?与BIOS的区别在哪里?UEFI详解!

    前几天在帮同事小何笔记本电脑安装64位 Windows 7 的时候,遇到一个从来没有碰到过的问题,使用光盘安装时,提示:Windows无法安装到这个磁盘.选中的磁盘具有MBR分区表.在EFI系统上,W ...

  7. nexus 离线更新索引

    1.到http://repo.maven.apache.org/maven2/.index/页面下载下面这两个文件: nexus-maven-repository-index.gz nexus-mav ...

  8. 修复windows Management Instrumentation(WMI)

    第一步.重建repository文件夹下所有文件,打开“开始”“运行”输入一下命令并回车:1.停止 WMI 服务, net stop winmgmt2.删除repository文件夹下所有文件, %w ...

  9. 5、main方法详解

    public class HelloWorld { public static void main(String[] args){ System.out.print("Hello World ...

  10. url-pattern / /*匹配

    http://hi.baidu.com/atell/item/522112d3db45081fd90e44e1 struts2中配置为 <url-pattern>/*</url-pa ...