持续集成是必要的!

希望达到的效果是:开发同事签入代码后,对应的站点可以自动实现更新。目前还只在在内部服务器上实现开发环境中的站点更新,不涉及到线上的发布。

目前使用Jenkins实现这样的持续集成。

准备环境

  1. 如果机器上没有Git,需要先安装下

  2. 如果机器上没有安装过VS,安装下MSBuild,或者直接在本机拷贝

  3. 下载Jenkins(用的是Weekly Release,更新比较快),一路安装,安装完成后会自动打开localhost:8080,开始启动(如果启动过程中出现503错误,可以试下重启Jenkins服务)

  4. 安装相关插件(MSBuild Plugin 和 Git Plugin对我们来说是必需的)

Job设置

  1. MSBuild设置

    在 Jenkins > 系统设置 > Global Tool Configuration 中设置

  2. 创建一个Job

  3. 源码管理配置

    设置:Repository URL(Git地址)、Credentials(凭证,https方式的话就是用户名加密码,点击后面的“Add”增加)。

  4. 构建配置

    先需要执行下NuGet还原,下载项目相关的dll,不然无法编译通过。(如果机器上没有nuget.exe,需要先载下,C:\Program Files (x86)\NuGet\是我们nuget.exe的位置)。

cd C:\Program Files (x86)\NuGet\
nuget.exe restore "C:\Program Files (x86)\Jenkins\workspace\Test\****\****.sln"

将Command Line Arguments,设置为:/t:Rebuild /p:Configuration=Release;PublishProfile=GTWL;DeployOnBuild=true,其中PublishProfile=GTWLGTWL是项目发布配置文件的名字。

  1. 构建触发器配置

    如果要实现代码签入自动编译发布需要这样设置下



    同时需要配合上Git服务器的webhook功能,POST的URL设置为,http://jenkins:8080/git/notifyCommit?url=https://git.oschina.net/****/****.git,这样代码一签入,Git服务器便会请求这个地址,触发了Job。

    也可以直接在浏览器上试用下,地址栏直接输入:http://localhost:8080/git/notifyCommit?url=https://git.oschina.net/****/****.git,会发现Job确实就执行了。

    不过因为我们是内部服务器,Git服务器不方便直接请求,所以只能退而求其次,定时去触发Job了。下面是每20分钟执行一次,好像最少是每分钟一次。

参考资料:

  1. 用MSBuild和Jenkins搭建持续集成环境:http://www.infoq.com/cn/articles/MSBuild-1
  2. 园友,Jenkins持续集成 & .NET:http://www.cnblogs.com/capqueen/p/JenkinsOne.html
  3. 园友,使用jenkins配置.net mvc网站进行持续集成一:http://www.cnblogs.com/jiekzou/p/5255081.html
  4. hook:http://stackoverflow.com/questions/12794568/how-to-configure-git-post-commit-hook

Jenkins+Git 持续集成的更多相关文章

  1. Mac上使用jenkins+git持续集成浅析

    本文旨在让同学们明白如何让jenkis在mac笔记本上运行,并实际与一个最简单的git地址交互并执行简单的jenkins任务,如果学习本文,需要先按照https://www.cnblogs.com/x ...

  2. ant+jmeter+jenkins+git持续集成以及邮件报告展示

    前序准备工作: ant--下载地址:http://ant.apache.org/bindownload.cgi jmeter--下载地址:http://jmeter.apache.org/downlo ...

  3. 【iOS】Jenkins Gitlab持续集成打包平台搭建

    Jenkins Gitlab持续集成打包平台搭建 SkySeraph July. 18th 2016 Email:skyseraph00@163.com 更多精彩请直接访问SkySeraph个人站点: ...

  4. 使用jenkins构建持续集成平台

    jenkins +   Maven + svn/git + tomcat 的持续集成平台 项目管理流程: 需求分析----原型设计----开发代码----提交测试-----内部测试-----确认上线( ...

  5. RF+Jenkins构建持续集成

    引入RF是为了能够快速的开展自动化验收测试,Jenkins而一种持续集成工具,用于监控持续重复的工作,持续的软件版本发布/测试项目,而通过RF+Jenkins可以有利的对RF构建的接口项目进行持续集成 ...

  6. jenkins+github持续集成中的坑

    1.前言 刚开始开发自己的独立博客的时候,每次发布都要手动打包,上传服务器,杀tomcat进程,重启,来回这么重复性工作,很快就有点不耐烦了.如果能自动化的东西,就绝不要手动了,所以自己搭建了个持续集 ...

  7. Jenkins的持续集成

    持续集成:不需要人工干预,持久化.重复的运行一个任务.将代码自动的更新到最新,然后自动运行. 新建项目之前要再Jenkins的全局工具配置里面把git的路径设置好.[全局工具配置]-->[Git ...

  8. jenkins+docker持续集成实验

    在互联网时代,对于每一家公司,软件开发和发布的重要性不言而喻,目前已经形成一套标准的流程,最重要的组成部分就是持续集成(CI)及持续部署.交付(CD).本文基于Jenkins+Docker+Git实现 ...

  9. docker+jenkins实现持续集成

    持续集成的概念我就不多说了,网上一大堆,今日主要讲讲怎么通过docker 和jenkins实现项目的持续集成.看着简单,网上完整教程很少,本人摸索很久才搞定!!! 一.首先安装docker.安装过程可 ...

随机推荐

  1. Java经典案例之“水仙花数”

    /** * 描述:打印出所有的“水仙花数”,所谓的“水仙花数”是指一个三位数,其各位数字立方和等于该数本身.例如: * 153=1^3+5^3+3^3等... * 分析:利用for循环控制100-99 ...

  2. MFC中在基于对话框的窗体中使用CFileDialog导致菜单栏变灰的解决方案

    CSDN的博客编辑器实在是难用……转战博客园 直接把CSDN发的搬过来了 ————————————————————————————我是分割线———————————————————————————— 第 ...

  3. DotNet加密方式解析--数字签名

    马上就要过年回村里了,村里没有wifi,没有4G,没有流量,更加重要的是过几天电脑就得卖掉换车票了,得赶紧写几篇博客. 数据安全的相关技术在现在愈来愈变得重要,因为人们对于自身的信息都有一种保护的欲望 ...

  4. 美丽的Java图表类库

    摘要 在使用java做后台站点的开发张,图表和报表功能都是不可或缺 的.本文推荐了8款最精彩实用的Java图表应用,大部分图表应用的功能都类似,主要在于界面的美观性和使用的灵活性上有一点高低. 正文 ...

  5. 【蒙地卡罗法求PI】

    /* 蒙地卡罗法求PI 说明 蒙地卡罗为摩洛哥王国之首都,该国位于法国与义大利国境,以赌博闻名.蒙地卡罗的基本原理为以乱数配合面积公式来进行解题,这种以机 率来解题的方式带有赌博的意味,虽然在精确度上 ...

  6. C++ Primer 笔记 第二章

    C++ Primer 第二章 变量和基本类型 2.1基本内置类型 有算数类型和void类型:算数类型储存空间大小依及其而定. 算数类型表: 类型 含义 最小储存空间 bool 布尔型 - char 字 ...

  7. SQL 存储过程 触发器 事务

    一.存储过程 存储过程:就像函数一样的会保存在:数据库中-->可编程性 --> 存储过程 创建存储过程:create proc JiaFa --存储关键字proc @a int,      ...

  8. 利用 UltraEdit 重新排版 XML 结构数据

    我们在工作常碰到这种情况,通讯数据或文件数据是以 XML 结构形式保存的,但通常 XML 结构比较混乱,不易分析.现在我们利用 UltraEdit32对该类型数据做 Reformat,具体操作如下: ...

  9. 微端游戏启动器launcher的制作(序篇)

    公司要做一个游戏接入腾讯QQ游戏大厅,腾讯要求制作一个launcher,公司之前并没有接入过腾讯,所以大家其实都不懂,而我又是新人,所以刚拿到这个任务的时候整个人就是一个大写的懵逼.在网上查找了不少的 ...

  10. 谨慎能捕千秋蝉(一)——XSS

    最近在研读<白帽子讲web安全>和<Web前端黑客技术揭秘>,为了加深印象,闲暇之时做了一些总结. 下面是书中出现的一些专有词汇: POC(Proof Of Concept): ...