先让我给描述一下怎么叫一个自动构建或者说是持续集成 :

就拿一个B/S系统的合作开发来说,在用SVN版本控制的情况下,每个人完成自己代码的编写,阶段性提交代码,然后测试-修改,最后到所有代码完工,进行总的测试-修改,最后发布测试。往往在最后发布阶段,会集中出现好多问题,并且这样的问题不好解决,因为最后一次的测试,前些阶段隐藏的问题就都暴露出来了!
持续自动构建就是要解决这个问题!
首先我们用到的工具有:
1.SVN
2.Jenkins
3.MSBuild
4.HMailSever
5.Nexus
SVN:它的主要用途就是整合项目代码,将团队开发的程序,集合到一起,起到一个统一整合程序的作用!例如,将三层架构中每层的代码,提交到一个版本库。同时,还起到一个备份作用,也就是说,在我们的每一次提交,对版本库的每一次改动,都会由它在其他地方再去备份一个一模一样的版本库,这样就是使得我们的源代码非常安全。(备份资料,这可是老师经常教导,常重装系统的童鞋都清楚!)
Jenkins:现在只知道这是一个非常强大的框架,只需要明白,它完成的任务是:加载源程序代码,在我们的自动构建中,是从SVN的版本库中加载,当然还可以通过别的路径加载。自动编译、发布、报错,按照完整的发布步骤自动执行,最后报告测试结果,Jenkins,非常人性化,他可以把结果,以邮件的方式反馈结果。
MSBuild:Jenkins针对每种开发环境,都有其相应的插件来完成测试。在.NET环境下,这个功能是靠MSBuild来实现。
这两个的关系就是:首先要安装上Jenkins,然后安装该插件,才能完成.NET程序的自动构建测试。
HmailSever:这是一个邮件服务器。它的作用是,在没有外网的情况下,设置自己的邮件服务器,相当于自己建了一个“163邮箱”,完成邮件的沟通。既然Jenkins提供了邮件提醒功能,就不得不好好利用了。有些项目的开发,需要关闭外网,有了它就解决了邮件的收发。
Nexus:是一个私服器,发挥着中介功能,提供各个服务器之间的连接。要想在不提供外网的条件下,完成自控构建、编译、发布测试,是少不了它的。
通过这些工具,在团队开发中,只需我们完成每个小阶段的编程后,向SVN提交,通过Jenkins马上就能知道发布后的结果(哈哈哈,坐等邮件就OK 喽!)。这就避免了,最后集成的时候因为修改BUG而焦头烂额了。
此乃团队开发的利器啊!!

.net 基于Jenkins的自动构建系统开发的更多相关文章

  1. 基于Jenkins自动构建系统开发

    1  绪论 1.1 课题的研究背景 随着IT行业的不断发展,软件开发的复杂度也随着不断提高.与此同时,软件的开发团队也越来越庞大,而如何更好地协同整个团队进行高效准确的工作,从而确保软件开发的质量已经 ...

  2. Docker+Jenkins+Gogs 自动构建.Net Core

    Docker+Jenkins+Gogs 自动构建.Net Core 引言 jenkins+gags 全部采用Docker安装,通过jenkins插件ssh调用外部Docker构建 主要实现功能: gi ...

  3. 利用jenkins实现自动构建、部署,提升团队开发效率

    一大早就被群里的同学刷银川下雪的消息,看着我都发冷,突觉一阵凉风裹身,是不是该考虑秋裤了. 偏离主题,正文走起...... 使用jenkins目标:利用其结合maven完成自动构建,并部署到tomca ...

  4. [系统集成] Android 自动构建系统

    一.简介 android app 自动构建服务器用于自动下载app代码.自动打包.发布,要建立这样的服务器,关键要解决以下几个问题: 1. android app 自动化打包android 的打包一般 ...

  5. 新手避坑 -- 用 Jenkins +miniprogram-ci 自动构建微信小程序

    先看看效果: 要实现这样的效果,需要下面3步: 1.下载 node 依赖包 miniprogram-ci,编写预览和上传功能 2. 登录微信公众平台, 下载项目的privateKey+添加代码上传IP ...

  6. Gulp自动构建前端开发一体化

    gulp是基于Nodejs的自动任务运行器, 她能自动化地完成 javascript/coffee/sass/less/html/image/css 等文件的的测试.检查.合并.压缩.格式化.浏览器自 ...

  7. tomcat+svn+maven+jenkins实现自动构建

    首先说明一个各软件的版本: tomcat:apache-tomcat-8.5.16.tar.gz maven:apache-maven-3.5.0-bin.tar.gz svn:subversion- ...

  8. 基于web的网上书城系统开发-----需求分析

    网上书店管理系统主要针对中小型书店,图书管理员将图书信息整理归类发布到网上.,用户登录该网站后进行浏览图书信息.购买等活动. 前台客户输入的数据交给后台数据库处理并及时反馈给双方.客户和管理者拥有相应 ...

  9. 一、Jenkins 安装(自动构建发布)

    war 包方式安装 官方下载地址:https://jenkins.io/download/ ,下载war包,并上传到服务器(案例中是把war包放在了 /usr/local/jenkins 里面) 运行 ...

随机推荐

  1. Java与redis交互、Jedis连接池JedisPool

    Java与redis交互比较常用的是Jedis. 先导入jar包: commons-pool2-2.3.jar jedis-2.7.0.jar 基本使用: public class RedisTest ...

  2. 5 个非常有用的 Laravel Blade 指令,你用过哪些?

    接下来我将带大家认识下五个 Laravel Blade 指令,这些指令将让你在解决特定问题时如虎添翼.如果你是刚接触 Laravel 的用户,这些小技巧能带你认识到 Laravel Blade 模板引 ...

  3. java遍历ftp文件夹下所有文件(或指定文件下的文件)

    import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; import org.apach ...

  4. Nt函数原型头文件

    //转自看雪,可以作为一个头文件使用,方便快捷 1 NTSTATUS NTAPI NtAcceptConnectPort( OUT PHANDLE PortHandle, IN PVOID PortI ...

  5. luogu P1126 机器人搬重物 题解

    luogu P1126 机器人搬重物 题解 题目描述 机器人移动学会(\(RMI\))现在正尝试用机器人搬运物品.机器人的形状是一个直径\(1.6\)米的球.在试验阶段,机器人被用于在一个储藏室中搬运 ...

  6. CCF CSP 201509-4 高速公路

    CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201509-4 高速公路 问题描述 某国有n个城市,为了使得城市间的交通更便利,该国国王打算在 ...

  7. easyui tree tabs

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  8. Asp.Net MVC Razor视图引擎与My97DatePicker插件的结合

    using System; using System.Collections.Generic; using System.Runtime.CompilerServices; using System. ...

  9. 【LOJ】 #2665. 「NOI2013」树的计数

    题解 我们统计深度对于bfs序统计,树结构出现分歧的地方必然是BFS序的最后一段,这个最后一段同时还得是dfs序上连续的一段 如果不是bfs序的最后一段,那么必然下一层会有节点,如果树结构分歧了,那么 ...

  10. php 二维数组去重

    function remove_duplicate($array){ $result=array(); foreach ($array as $key => $value) { $has = f ...