##目录

1. 安装Jenkins
1. 配置Jenkins
1. 自动编译
1. 自动部署
1. 自动测试

环境介绍:
web服务器机器:192.168.1.7
svn服务器:192.168.1.5
jenkins服务器:192.168.1.6(此服务器上面安装Jenkins)
三台机器均为WIN7 操作系统。

##1. 安装Jenkins
安装比较简单就不详细介绍了,记住需要先安装JDK1.7因为Jenkins依赖jdk。提供官网地址,选择自己的想要安装的系统环境进行下载。
[官网下载](http://jenkins-ci.org/)

##2. 配置Jenkins
>安装完成在创建项目之前,需要先对Jenkins做一些环境配置和插件的安装。
** 下面列来需要用的插件:**
- SVN插件 用来pull系统.net源码(默认已经安装)
- MSBuild plugin 插件 用来实现对源码进行编译
- Post bulid task插件  用来判断是否编译中出错,而停止后面的构建
- Publish Over FTP插件 实现远程FTP远程部署
- FxCop Runner Plugin  用来做.NET静态代码检查的工具(如需要的话,可以在编译完成后添加。本文略。)

###插件安装和配置
####安装
进入 【Jenkin】-【系统管理】-【插件管理】-【可选插件】进行搜索要做安装的插件名称,然后点击页面中的【直接安装】按钮进行安装。
安装时会进入到插件安装界面,可以看到是否安装完成,安装完成后重启Jenkins服务。
(所有插件可以一起安装,也可以分开安装,最后重启,具体操作自行脑补)

####环境配置
通过 【Jenkin】-【系统管理】-【系统设置】配置下面插件环境
**添加MSBuild环境**
如下图,配置MSBuild.exe路径(我编译使用v.4.0版本,黄色警告不用管)
**添加FTP环境**
IIS发布web目录,同时发布为ftp目录,编译完后的文件通过FTP进行上传。


###创建项目
填写项目名称,选择自由风格,点击“ok”完成创建

##3. 编译和部署

**1. SVN 配置**
进入创建的项目,点击配置按钮,进行配置项目的构建。
首先源码管理选择 Subversion (即SVN)

**2. 配置构建触发器**
  1. Poll SCM:定时检查源码变更(根据SCM软件的版本号),如果有更新就checkout最新code下来,然后执行构建动作。
    H/5 * * * *  (每5分钟检查一次源码变化)
  2.  
    Build periodically:周期进行项目构建(它不care源码是否发生变化)
    0 2 * * *  (每天2:00 必须build一次源码)
  1. 我的配置如下:


**3. MSBulid 配置 **
选择之前配好的MSBuild Version,填写项目中的编译文件名称,以及编译命令

MSBuilder Version 为之前配置的 "Version 4.0"

MSBuild Build File 是项目文件或者工程文件的名称

然后就是MSBuild的命令行参数了。

/t:Rebuild 表示每次都重建,不使用增量编译

/toolsvervsion:4.0 表示使用4.0版本编译工具

/property:Configuration=Release 表示编译Release版本,

/property:TargetFrameworkVersion=v4.5表示编译的目标是.NET 4.5

**4. Post build task配置**

编译完成后,可以添加post build task判断编译是否报错,如果没有报错则执行输出命令 提示编译成功(或者调用其它命令脚本)。

编译日志结果

如果成功,则显示 0 个错误,在编译成功后可以启动单元测试

通过post build task进行判断后,进行部署,如果失败则不会进行部署。

**5. Publish Over FTP配置 **

编译成功后使用FTP把编译后的目录文件上传到服务器。

(这里说一下,部署方式有很多种,对于.net系统来说,就是拷贝编译后的文件到服务器,不用重启服务器也可以,所以我这里就用最简单的方法上传)

name 选择之前配置的 FTP Server

Verbose output in console 选项是指上传文件的过程是否在控制台显示,不一般不需要勾选。

Retry 连接失败重试次数

Delay 连接失败后的重试间隔

Transfers

Transfer Set Source files  设置要上传的文件路径 ** 表示上传路径下的文件夹及子文件夹(相对路径是项目的workspace)

Remove prefix 去掉前缀,指在上面的时候去掉路径的前缀。比如我们上传一个路径是 \pub\website\** 的路径,实际我们指希望上传website中的文件,并不要\pub\website 这样的目录,就可以去掉路径前缀。

更多高级详细的配置方式可以查看官网说明:https://wiki.jenkins-ci.org/display/JENKINS/Publish+Over+FTP+Plugin

这样配置完成后,编译部署构建就完成了。接下来再创建一个自动化测试构建,部署完成后,自动触发自动化测试构建。

##4. 自动测试

新建项目过程和上面系统创建构建方式一样,svn地址配置成自己的测试脚本即可。

关键步骤在,【构建触发器】

这里选择 Build after other projects are built.

Projects to watch 填写要测试的项目构建,这样如果 ERP系统 项目编译部署完成后,就会触发自动化测试的构建。


95、Jenkins部署.net持续集成自动化测试环境的更多相关文章

  1. Jenkins+Gitlab搭建持续集成(CI)环境

    利用Jenkins+Gitlab搭建持续集成(CI)环境 Permalink: 2013-09-08 22:04:00 by hyhx2008in intern tags: jenkins gitla ...

  2. 【K8S】基于Docker+K8S+GitLab/SVN+Jenkins+Harbor搭建持续集成交付环境(环境搭建篇)

    写在前面 最近在 K8S 1.18.2 版本的集群上搭建DevOps环境,期间遇到了各种坑.目前,搭建环境的过程中出现的各种坑均已被填平,特此记录,并分享给大家! 服务器规划 IP 主机名 节点 操作 ...

  3. GitLab、Jenkins结合构建持续集成(CI)环境

    1 持续集成 概述及运行流程 1.1 持续集成概述 持续集成概述:持续集成(Continuous integration)持续集成是指开发者在代码的开发过程中,可以频繁的将代码部署集成到主干,并迚程自 ...

  4. Robotium接入到Jenkins持续集成自动化测试

    6.3 将测试用例接入到Jenkins 由于我是自己学习的手机自动化测试,没有实际投入到工作中使用,jenkins的接入也没有具体操作,现摘抄一下网页:http://www.tuicool.com/a ...

  5. CentOS 7 部署Gitlab+Jenkins持续集成(CI)环境

    持续集成概述及运行流程 : 持续集成概述 :持续集成(Continuous integration)持续集成是指开发者在代码的开发过程中 ,可以频繁的将代码部署集成到主干,并进行自动化测试  开发→代 ...

  6. Asp.net Core 使用Jenkins + Dockor 实现持续集成、自动化部署(三):搭建jenkins集群环境

    写在前面 大家可以看到本文的配图,左边是jenkins单机环境,右边是jenkins集群.个中区别,不言而喻,形象生动. 前面我分别介绍了.net core 程序的多种部署方式(无绝对孰优孰劣): 1 ...

  7. jenkins + Git 搭建持续集成环境

    持续集成通过自动化构建.自动化测试以及自动化部署加上较高的集成频率保证了开发系统中的问题能迅速被发现和修复,降低了集成失败的风险,使得系统在开发中始终保持在一个稳定健康的集成状态.jenkins是目前 ...

  8. 基于 Jenkins 快速搭建持续集成环境--转

    源地址:http://www.ibm.com/developerworks/cn/java/j-lo-jenkins/ 持续集成是一种软件开发实践,对于提高软件开发效率并保障软件开发质量提供了理论基础 ...

  9. Jenkins 快速搭建持续集成环境

    持续集成概述 什么是持续集成 随着软件开发复杂度的不断提高,团队开发成员间如何更好地协同工作以确保软件开发的质量已经慢慢成为开发过程中不可回避的问题.尤其是近些年来,敏捷(Agile) 在软件工程领域 ...

随机推荐

  1. 在mvc中实现图片验证码的刷新

    首先,在项目模型(Model)层中建立一个生成图片验证码的类ValidationCodeHelper,代码如下: public class ValidationCodeHelper { //用户存取验 ...

  2. OC中的那些String

    /--------操作字符串--NSString(静态字符串)--------------------- NSString * a = @"a+b+c+a+b+d"; NSArra ...

  3. eclipse下导入jdk源码

    一直想好好看看jdk的源码,虽然可以直接解压jdk下的src看,但是终究不方便!后来发现可以导入到eclipse中,就在网上找了一些方法,下面就和大家分共享: step1:打开eclipse选择Win ...

  4. mac brew 安装php扩展报错:parent directory is world writable but not sticky

    $ brew install php70-mcrypt 报错: Error: parent directory is world writable but not sticky 搜索到github的答 ...

  5. LUA table学习笔记

    function printT( ... ) for i,v in ipairs(...) do print(i,v) end end t1={} t2={} t3={} table.insert(t ...

  6. ElasticSearch基本学习

    ES介绍 维基百科使用Elasticsearch来进行全文搜做并高亮显示关键词,以及提供search-as-you-type.did-you-mean等搜索建议功能. 英国卫报使用Elasticsea ...

  7. ZOJ 2412 Farm Irrigation

    Farm Irrigation Time Limit: 2 Seconds      Memory Limit: 65536 KB Benny has a spacious farm land to ...

  8. Dll的生成,转化为OMF格式的DLL

    extern "C" { __declspec(dllexport) int psq_add(int a, int b); } C:\Users\pansq>mkexp my ...

  9. CAS学习笔记(一)

    近期做单点登录,看了一些CAS资料,做下总结 一.cas简介 全名:Central Authentication Service 特点: 1.开源的.多协议的 SSO 解决方案: Protocols  ...

  10. SQL-2008函数大全

    SQL Server 2008 函数大全(完整版) SQL2008 表达式:是常量.变量.列或函数等与运算符的任意组合.1. 字符串函数 函数 名称 参数 示例 说明 ascii(字符串表达式) se ...