持续集成是必要的!

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

目前使用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. --@angularJS--简单的带嵌套的指令demo

    <!DOCTYPE HTML><html ng-app="app"><head>    <title>custom-directiv ...

  2. 使用IDA静态分析解密《舰娘Collection》的lua脚本

    好久没写东西了,换工作之后忙得一比.你说创业?风太大没听清啊看了看以前写的东西,觉得以前写得太严肃了,从现在开始要轻松一点,要做一名逗逼码农. 本文不会介绍破解的细节,最终完成破解所编写的代码也不会公 ...

  3. 《疯狂Java讲义》(七)---- 方法

    一 方法的参数传递机制 Java方法的参数传递方式只有一种:值传递.就是将实际参数值的副本传入方法内,而参数本身不会受到任何影响. eg. 基本类型的值传递 public class Primitiv ...

  4. phpcms 杂乱总结

    1.根据catid 获取 栏目名称 $CATEGORYS = getcache('category_content_'.$siteid,'commons'); $name = {$CATEGORYS[ ...

  5. HTML 5 服务器发送事件、Input 类型、表单元素、表单属性

    HTML5 服务器发送事件(server-sent event)允许网页获得来自服务器的更新. Server-Sent 事件 - 单向消息传递 Server-Sent 事件指的是网页自动获取来自服务器 ...

  6. Mac bash rc

    ###################################### ########## .bashrc ###################################### cas ...

  7. Qt入门之基础篇(1):Qt4及Qt5的下载与安装

    转载请注明出处:CN_Simo. 导语: Qt是一个跨平台的C++图形界面应用程序框架.它提供给开发者建立图形用户界面所需的功能,广泛用于开发GUI程序,也可用于开发非GUI程序.Qt很容易扩展,并且 ...

  8. wince开发环境搭建与全套教程

    http://www.cnblogs.com/zhchongyao/archive/2010/12/28/1919176.html http://blog.csdn.net/weiren2006/ar ...

  9. ES2:ElasticSearch 集群配置

    ElasticSearch共有两个配置文件,都位于config目录下,分别是elasticsearch.yml和logging.yml,其中,elasticsearch.yml 用来配置Elastic ...

  10. 双显卡笔记本安装CUDA+theano、tensorflow环境

    原文出处:http://www.cnblogs.com/jacklu/p/6377820.html 个人知乎主页欢迎关注:https://www.zhihu.com/people/jack_lu,相信 ...