Jenkins+Git 持续集成
持续集成是必要的!
希望达到的效果是:开发同事签入代码后,对应的站点可以自动实现更新。目前还只在在内部服务器上实现开发环境中的站点更新,不涉及到线上的发布。
目前使用Jenkins实现这样的持续集成。
准备环境
如果机器上没有Git,需要先安装下
如果机器上没有安装过VS,安装下MSBuild,或者直接在本机拷贝
下载Jenkins(用的是Weekly Release,更新比较快),一路安装,安装完成后会自动打开localhost:8080,开始启动(如果启动过程中出现503错误,可以试下重启Jenkins服务)
安装相关插件(MSBuild Plugin 和 Git Plugin对我们来说是必需的)

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

创建一个Job

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

构建配置
先需要执行下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是项目发布配置文件的名字。

- 构建触发器配置
如果要实现代码签入自动编译发布需要这样设置下

同时需要配合上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分钟执行一次,好像最少是每分钟一次。

参考资料:
- 用MSBuild和Jenkins搭建持续集成环境:http://www.infoq.com/cn/articles/MSBuild-1
- 园友,Jenkins持续集成 & .NET:http://www.cnblogs.com/capqueen/p/JenkinsOne.html
- 园友,使用jenkins配置.net mvc网站进行持续集成一:http://www.cnblogs.com/jiekzou/p/5255081.html
- hook:http://stackoverflow.com/questions/12794568/how-to-configure-git-post-commit-hook
Jenkins+Git 持续集成的更多相关文章
- Mac上使用jenkins+git持续集成浅析
本文旨在让同学们明白如何让jenkis在mac笔记本上运行,并实际与一个最简单的git地址交互并执行简单的jenkins任务,如果学习本文,需要先按照https://www.cnblogs.com/x ...
- ant+jmeter+jenkins+git持续集成以及邮件报告展示
前序准备工作: ant--下载地址:http://ant.apache.org/bindownload.cgi jmeter--下载地址:http://jmeter.apache.org/downlo ...
- 【iOS】Jenkins Gitlab持续集成打包平台搭建
Jenkins Gitlab持续集成打包平台搭建 SkySeraph July. 18th 2016 Email:skyseraph00@163.com 更多精彩请直接访问SkySeraph个人站点: ...
- 使用jenkins构建持续集成平台
jenkins + Maven + svn/git + tomcat 的持续集成平台 项目管理流程: 需求分析----原型设计----开发代码----提交测试-----内部测试-----确认上线( ...
- RF+Jenkins构建持续集成
引入RF是为了能够快速的开展自动化验收测试,Jenkins而一种持续集成工具,用于监控持续重复的工作,持续的软件版本发布/测试项目,而通过RF+Jenkins可以有利的对RF构建的接口项目进行持续集成 ...
- jenkins+github持续集成中的坑
1.前言 刚开始开发自己的独立博客的时候,每次发布都要手动打包,上传服务器,杀tomcat进程,重启,来回这么重复性工作,很快就有点不耐烦了.如果能自动化的东西,就绝不要手动了,所以自己搭建了个持续集 ...
- Jenkins的持续集成
持续集成:不需要人工干预,持久化.重复的运行一个任务.将代码自动的更新到最新,然后自动运行. 新建项目之前要再Jenkins的全局工具配置里面把git的路径设置好.[全局工具配置]-->[Git ...
- jenkins+docker持续集成实验
在互联网时代,对于每一家公司,软件开发和发布的重要性不言而喻,目前已经形成一套标准的流程,最重要的组成部分就是持续集成(CI)及持续部署.交付(CD).本文基于Jenkins+Docker+Git实现 ...
- docker+jenkins实现持续集成
持续集成的概念我就不多说了,网上一大堆,今日主要讲讲怎么通过docker 和jenkins实现项目的持续集成.看着简单,网上完整教程很少,本人摸索很久才搞定!!! 一.首先安装docker.安装过程可 ...
随机推荐
- 后台邮箱配置SMTP函数,如何把发件人设置为自定义昵称
默认的php的mail函数,太坑爹! 用PHPCMS配置好SMTP后,虽然能发送邮件. 但是收件人一项,显示的是邮箱地址@前面的内容. 今天研究了一下午,终于在一个论坛里找到了答案. 原来PHPCMS ...
- Unity 4.3 2D 教程:新手上路
这篇文章译自 Christopher LaPollo 先生的 Unity 4.3 2D 教程的第一部分 Unity 4.3 2D Tutorial: Getting Started 感谢这套优秀教程的 ...
- docker的资源限制cpuset cpuquota memory
总结 目前,公司7u已经不再使用lxc,转而使用libcontainer 即native docker对cpuquota的支持目前是有问题的,一般大家使用docker的时候,主要是对memory,cp ...
- js动态设置输入框字体/颜色
动态设置文本框颜色: 主要是利用javascript中的触发事件onfocus和onblur <script language="javascript" type=" ...
- Java8 Lumbda表达式 初步
Java8 Lumbda表达式 初步 package com.stono.test; import java.util.function.BinaryOperator; public class Te ...
- jquery常用的一些方法
一.选择网页元素(标签选择器) $(document) //选择整个文档对象 $('#myId') //选择ID为myId的网页元素 $('div.myClass') // 选择class为myCla ...
- Mybatis拦截器实现分页
本文介绍使用Mybatis拦截器,实现分页:并且在dao层,直接返回自定义的分页对象. 最终dao层结果: public interface ModelMapper { Page<Model&g ...
- iOS核心笔记—源代码管理工具-SVN
源代码管理工具-SVN 一. 源代码管理工具概述 1. 源代码管理工具的作用? > 能追踪一个项目从诞生一直到定案的过程 > 记录一个项目的所有内容变化,无限制返回 > 查看特定版本 ...
- 《JAVASCRIPT高级程序设计》选择框脚本和富文本编辑
一.选择框脚本 选择框也是表单的一个字段,是通过<select>和<option>元素来创建的,需要使用javascript来控制.选择框拥有以下的属性和方法: 以下介绍一些选 ...
- JAVA_file(1)
1.基本概念的理解 绝对路径:绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,(URL和物理路径)例如:C:xyz est.txt 代表了test.txt文件的绝对路径.http://www.s ...