##目录

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


**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. (java oracle)以bean和array为参数的存储过程及dao部分代码

    一.数据库部分 1.创建bean对象 CREATE OR REPLACE TYPE "QUARTZJOBBEAN" as object ( -- Author : Duwc -- ...

  2. Spring与ActiveMQ整合

    Spring提供了对JMS的支持,需要添加Spring支持jms的包,如下: <dependency> <groupId>org.springframework</gro ...

  3. DER input, Integer tag error的异常处理

    1.首先我向大家介绍一下我做的东西,发生这个异常的情况. 我做的是一个电签的系统,在调用某公司的API生成证书,然后与安证通进行同步证书的任务. 2.问题具体的异常 具体异常如下: 2016/08/2 ...

  4. Testlink与Redmine关联

    TestLink是一个开源的测试管理工具,它可以有效地管理整个测试流程(测试需求, 测试计划, 测试用例, 测试执行, 测试结果分析),但不能和开发流程统一起来,从而不能及时参与到开发中去,不能使项目 ...

  5. SpringSecurity操作指南-在SpringMVC项目上配置Spring Security

  6. WPF 动画效果

    线性插值动画.关键帧动画.路径动画 1. (Visibility)闪烁三下,停下两秒,循环: XAML: <Grid> <Grid.ColumnDefinitions> < ...

  7. Apache安装及配置ssl

    目录 1.windows安装 软件准备 安装apache 开启ssl(Https访问) 打开httpd.conf,解除下面配置的注释 查看ssl模块使用哪一个配置文件 配置https虚拟主机 简单配置 ...

  8. JSP三大指令、七大动作、九大对象

    <%---------------------- JSP三大指令 -----------------------------%><%-- 1. page: language impo ...

  9. Linux学习——————基础篇

    一.linux试用 1.使用man或者info查询 2.超级简单的文本编辑器:nano 3.sync:数据同步写入磁盘,将内存中的数据写入磁盘 3.惯用的关机命令:shutdown /sbin/shu ...

  10. liunx 远程拷贝到本地

    此句在本地git bash 执行,就能拷贝远程的目录 scp -r  userName@remote:/var/www/views/log/*.* ~/Desktop