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

就拿一个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. 在虚拟机(vmware)上安装CentOS

    第一步是安装虚拟机,这个比较简单就不讲了. 第二步准备CentOS的镜像文件准备安装 第三步安装CentOS: 新建虚拟机 选择自定义配置 选择硬件兼容标准 选择是否让vmware安装操作系统 选择将 ...

  2. js函数前加分号和感叹号是什么意思?有什么用?

    一般看JQuery插件里的写法是这样的 (function($) { //... })(jQuery); 今天看到bootstrap的javascript组件是这样写的 !function( $ ){ ...

  3. java基础28 单例集合Collection下的List和Set集合

    单例集合体系: ---------| collection  单例集合的根接口--------------| List  如果实现了list接口的集合类,具备的特点:有序,可重复       注:集合 ...

  4. require和import的区别

    require:是一种common协议,大家按照这个约定书写自己的代码,实现模块化. import:是ES6的模块语法实现.是语言自身的模块实现.

  5. qlserver排序规则在全角与半角处理中的应用

    --1.查询区分全角与半角字符--测试数据DECLARE @t TABLE(col varchar(10))INSERT @t SELECT 'aa'UNION ALL SELECT 'Aa'UNIO ...

  6. 20165203迭代和JDB测试

    1.使用C(n,m)=C(n-1,m-1)+C(n-1,m)公式进行递归编程实现求组合数C(m,n)的功能 public class C { public static void main(Strin ...

  7. Two Seals codeforces 837c

    Two Seals 一个矩形a*b,若干子矩形,子矩形中选2个,不重叠能覆盖最大 思路: 枚举: 代码: #include <cstdio> #include <cstring> ...

  8. 浅谈jvm

    1 .说起jvm,很多人感觉jvm离我们开发实际很远.但是,我们开发缺每时每刻都离不开jvm. a: java源码 编译后成.class字节码文件, b:根据classpath找到这个字节码文件, c ...

  9. 20169211《Linux内核原理及分析》第十二周作业

    Collabtive 系统 SQL 注入实验 实验介绍 SQL注入漏洞的代码注入技术,利用web应用程序和数据库服务器之间的接口.通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串, ...

  10. JXOI2017-2018 解题报告

    链接:JXOI2017-2018 解题报告 代码预览:Github