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

就拿一个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. python网络编程-socket发送大数据包问题

    一:什么是socket大数据包发送问题 socket服务器端或者客户端在向对方发送的数据大于对方接受的缓存时,会出现第二次接受还接到上次命令发送的结果.这就出现象第一次接受结果不全,第二次接果出现第一 ...

  2. webpack3学习笔记

    地址:https://segmentfault.com/a/1190000006843916 地址:https://www.chungold.com/my/course/32 地址:http://js ...

  3. Oracle 函数 “数据控制,指定某些人只能查看他权限范围内的信息”

    create or replace function work_plan_mask (p_schema VARCHAR2,p_table VARCHAR2) return Varchar2 AS -- ...

  4. activiti源码分析学习

    activiti源码分析学习导语 目前项目中用activiti来做工作流的相关工作,最近遇到一些情况下,公司二次开发的流程图渲染出现了问题,会造成流程图出不来的情况.初步分析数据库中记录以及简单的代码 ...

  5. ETL工具kettle基本使用

    1.下载kettle:https://sourceforge.net/projects/pentaho/files/Data%20Integration/7.0/pdi-ce-7.0.0.0-25.z ...

  6. 提高eclipse使用效率(一)--使用快捷键

    编辑代码常用快捷键 格式化代码的快捷键 Ctrl + Shift + F 格式化缩进的快捷键是 Ctrl + I,只能对选中的文本进行缩进 删除一行的快捷键是 Ctrl + D 当前窗口最大化最小化切 ...

  7. 【LOJ】#2054. 「TJOI / HEOI2016」树

    题解 一写过一交A的水题 只要求一个dfs序,新加一个标记在子树所在的区间上覆盖上该点,维护深度最大的答案 代码 #include <bits/stdc++.h> #define ente ...

  8. 【BZOJ】1336: [Balkan2002]Alien最小圆覆盖

    题解 我们先把所有点random_shuffle一下 然后对前i - 1个点计算一个最小圆覆盖,然后第i个点如果不在这个圆里,那么我们把这个点当成一个新的点,作为圆心,半径为0 从头枚举1 - i - ...

  9. 2018 ACM-ICPC, Syrian Collegiate Programming Contest F - Pretests SOS dp

    #include<bits/stdc++.h> #define LL long long #define fi first #define se second #define mk mak ...

  10. Docker简介与安装(一)

    Docker简介 Docker 是 Docker.Inc 公司开源的一个基于 LXC技术之上构建的Container容器引擎, 源代码托管在 GitHub 上, 基于Go语言并遵从Apache2.0协 ...