一、Jenkins在Windows下的安装

1、下载地址:可以到https://jenkins.io/download/下载Jenkins的最新版本,目前为2.64。正式环境最好使用2.46.3版本,该版本提供长期支持。目前下载包解压后得到jenkins.msi安装包

2、双击jenkins.msi就可以开始安装了。

3、启动Windows服务Jenkins

4、检测是否安装成功:打开安装机器上的浏览器,访问http://localhost:8080可以看到解锁界面

5、解锁Jenkins。在安装过程中,将管理员密码写入到了日志文件中,从中拷贝出来并写入到下面的界面上:

 

二、定制Jenkins

1、选择需要安装的插件

2、需要选择MSBuildPlugin和TeamFoundation Server Plug-in



3、点击安装开始安装插件


4、创建第一个管理员用户


5、准备使用Jenkins

 

  

三、设置你的构建任务

构建任务是持续集成服务的基本单元。一个构建任务就是对项目进行编译、测试、打包、发布或做一些其他事情。构建任务有多种形式,你可能对你的项目进行编译、单元测试、报告代码质量、生成文档、发布应用程序、部署到正式环境、运行冒烟测试、或许多其他相似的事情。

1、构建自由风格的项目



输入任务名字,选择“构建一个自由风格的软件项目”,然后点击“OK”按钮。

  

四、配置任务

1、通用配置


2、源代码管理配置


这里选择TFS,然后提供TFS的路径(可以从VS中拷贝过来),以及项目的相对路径(相对于TFS的根目录)。

下面是设置构建触发器,每天编译一次:

3、构建计划设置


这个配置是每天下午4到6点运行构建计划。

4、设置构建步骤。


5、设置构建后的操作

 

五、自动和持续发布需要考虑的问题

在大多数情况下,可以自己写脚本将应用发布到特定服务器上。主要好处就是简单、配置容易。如果你需要在一台服务器上执行安装软件或重启机器的操作,简单的脚本可能做不到。对于一些高深的使用场景,我们需要更加复杂发布、配置管理方案,如Pupper或Chef。

1、 数据库更新

在很多应用架构中,数据库都是非常重要的角色,数据库的平滑升级也是非常困难的。有些应用框架,如Rbuyon Rails、Hibernate、EntityFramework,能自动管理数据库结构的变更,但是功能相对有限。我们现在有一个好的工具Liquibase,可以管理和组织数据库不同版本直接的升级路径。

2、 冒烟测试

任何严谨的自动化发布,都需用一系列的自动化冒烟测试。自动化的接受测试是一个比较好的方法。

3、 回滚变更

自动化发布的另一个重要方面是回滚到发布之前的版本。具体怎么做主要依赖于你的应用。一个比较直接的办法就是使用Jenkins重新发布之前的版本,需要重点考虑的是如何将数据库恢复到之前的版本。

4、 发布到应用服务器上

Jenkins提供插件来帮助你将应用发布到服务器上,比如:Tomcat,JBoss和GlassFish,Websphere的插件支持特定的版本。

对于其他的应用服务器,需要将发布过程集成到构建过程,或者使用定置化脚本来发布应用。

 

构建服务器基础:

  • 安装.NET Framework 4.6 (NDP46-KB3033091-x86-x64-AllOS-ENU.exe)
  • 安装.NET Framework 4.6 Multi Targeting Package (netfx_46mtpack.msi) – 注意:公开下载的版本已经没有了,需要从VS 2016 ISO映像文件获取该文件,包括cab1.cab, 该文件在packages\netfx_46mtpack 目录下
  • 安装 Microsoft Build Tools 2017 (Section "Additional Tools")

 

备注:MicrosoftBuild Tools 2017下载地址

https://www.visualstudio.com/zh-hans/thank-you-downloading-visual-studio/?sku=BuildTools&rel=15

安装后,在Jenkins的全局配置中,将MSBuild的路径指向Tools2017的目录,如:C:\ProgramFiles (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin

 

还有后续的两个问题:

1、 所有的项目都必须是.NetFramework 4.6的版本(所有项目的版本必须一致,否则编译时提示找不到对应的Framework)

2、 如果使用的测试项目,还需要安装Microsoft.VisualStudio.QualityTools.UnitTestFramework

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐