基于Jenkins快速搭建持续集成环境

看了园友张善友的博文,尝试成功.便有此作.原网址:http://www.cnblogs.com/shanyou/p/3750714.html

  天下事有难易乎?为之,则难者亦易矣;不为,则易者亦难矣.

首先要学会使用MSBuild构建脚本

附网址:http://www.infoq.com/cn/articles/MSBuild-1.

目标:学会用MSBuild编译程序,主要用于asp.net 或者 asp.net mvc.

最终,我写的脚本如下:

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

<ItemGroup>
	<BuildArtifactsDir Include="UI\bin\" />
	<SolutionFile Include="HelloCI.sln" />
</ItemGroup>

<PropertyGroup>
	<Configuration Condition=" ‘$(Configuration)‘ == ‘‘ ">Release</Configuration>
	<BuildPlatform Condition=" ‘$(BuildPlatform)‘ == ‘‘ ">Any CPU</BuildPlatform>
</PropertyGroup>

<Target Name="Init" DependsOnTargets="Clean">
	<MakeDir Directories="@(BuildArtifactsDir)" />
</Target>

<Target Name="Clean">
	<RemoveDir Directories="@(BuildArtifactsDir)" />
</Target>

<Target Name="Compile" DependsOnTargets="Init">
 <MSBuild Projects="@(SolutionFile)" Targets="Rebuild"
          Properties="OutDir=%(BuildArtifactsDir.FullPath);Configuration=$(Configuration);Platform=$(BuildPlatform)" />
</Target>

</Project>

<!--msbuild HelloCI.msbuild /t:Compile /p:VisualStudioVersion=12.0 -->

脚本的最后一行注释,是构建的命令./p:VisualStudioVersion=12.0是指明版本,如果不指明会报错,找不到某文件.

Jenkins+tortoisesvn+MSBuild做到持续集成

附Jenkins的使用:http://www.infoq.com/cn/articles/MSBuild-2

先大概阅读上面的网址对应的文章.注意:我用的版本控制器是tortoisesvn;此外,post-commit的钩子我也会说明.

1.安装Jenkins(稳定版本即可),装好后 进入左侧 系统管理,点击 管理插件, 安装MSBuild插件.

2.使用Jenkins新建一个自由风格的软件项目.配置如下:

主要是配置svn的地址和账号密码;构建触发器不用选,后面会用钩子.

然后是构建,配置如下:

HelloCI.msbuild是构建脚本的文件名.其次,参数是一定要填的.

其他的不用理,直接保存.

项目列表,如下图:

此时,用svn上传一个项目(不包含bin),项目根目录要有HelloCI.msbuild这个文件.

上传完成后,点击 上图中的 立即构建 .用IIS等软件看网站是否可以访问.

如果成功,下一步就是如何触发构建.毕竟,每提交一次,就去服务器立即构建一次,是重复动作.要用触发构建‘封装‘.

用tortoisesvn的post-commit钩子触发构建

首先,要明白一点.在Jenkins的项目列表里,除了点击 立即构建 .还可以通过访问

  http://localhost:8080/job/JOBNAME/build?delay=0sec(JOBNAME需要替换成真实的job名称),让Jenkins启动构建。(请自己测试,通过后,继续看下边的.)

tortoisesvn的钩子设置如下:

HelloCIHook.exe是什么呢?你应该可以想到了,就是一个小程序,执行它会访问能触发构建的url.

代码如下:

    class Program
    {

        static void Main(string[] args)
        {
            const string url = "http://localhost:8080/job/HelloCI/build?delay=0sec";
            HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
            req.Method = "GET";
            req.KeepAlive = false;
            req.GetResponse();
        }
    }

到这儿就结束了.

总结下流程,用svn提交代码后,钩子触发HelloCIHook.exe这个程序,该程序访问了一个url,进而触发了Jenkins的构建(执行的MSBuild构建脚本).Jenkins以最新的代码库进行了构建,生成了bin(也可以是其他)目录下的文件.网站成功更新.

时间: 2024-12-29 22:05:39

基于Jenkins快速搭建持续集成环境的相关文章

基于 Jenkins 快速搭建持续集成环境

持续集成是一种软件开发实践,对于提高软件开发效率并保障软件开发质量提供了理论基础.Jenkins 是一个开源软件项目,旨在提供一个开放易用的软件平台,使持续集成变成可能.本文正是从持续集成的基本概念入手,通过具体实例,介绍了如何基于 Jenkins 快速搭建持续集成环境. 持续集成概述 什么是持续集成 随着软件开发复杂度的不断提高,团队开发成员间如何更好地协同工作以确保软件开发的质量已经慢慢成为开发过程中不可回避的问题.尤其是近些年来,敏捷(Agile) 在软件工程领域越来越红火,如何能再不断变

Jenkins 快速搭建持续集成环境

持续集成概述 什么是持续集成 随着软件开发复杂度的不断提高,团队开发成员间如何更好地协同工作以确保软件开发的质量已经慢慢成为开发过程中不可回避的问题.尤其是近些年来,敏捷(Agile) 在软件工程领域越来越红火,如何能再不断变化的需求中快速适应和保证软件的质量也显得尤其的重要. 持续集成正是针对这一类问题的一种软件开发实践.它倡导团队开发成员必须经常集成他们的工作,甚至每天都可能发生多次集成.而每次的集成都是通过自动化的构建来验证,包括自动编译.发布和测试,从而尽快地发现集成错误,让团队能够更快

[转] 基于Gitlab CI搭建持续集成环境

[From] https://blog.csdn.net/wGL3k77y9fR1k61T1aS/article/details/78798577 前言 本文是在12月12号迅雷@赵兵在前端早读课第三期Live中提到的关于CI构建的,可能这部分在不同公司由不同的岗位负责,刚好如果你没遇到你可以看看. @赵兵,来自迅雷前端团队.是一个热爱前端技术,喜欢造轮子,爱折腾的人,也是一个奉行"懒惰使人进步"的懒人工程师. 正文从这开始- 本文简单介绍了持续集成的概念并着重介绍了如何基于 Gitl

jenkins + Git 搭建持续集成环境

jenkins + Git 搭建持续集成环境 持续集成通过自动化构建.自动化测试以及自动化部署加上较高的集成频率保证了开发系统中的问题能迅速被发现和修复,降低了集成失败的风险,使得系统在开发中始终保持在一个稳定健康的集成状态.jenkins是目前广泛应用的持续集成工具,本文记录我使用jenkins+Git配置持续集成环境的整个流程以及踩到的坑(jenkins过程的坑往往不是在第一次配置,而是在配置结束后更改某些配置项的时候踩到). 总体流程如下: tomcat8.0下载地址:http://tom

构建基于Jenkins + Github的持续集成环境

搭建持续集成首先要了解什么是持续集成,带着明确的目标去搭建持续集成环境才能让我们少走很多弯路.持续集成(Continuous integration)简称CI,是一种软件开发的实践,可以让团队在持续集成的基础上收到反馈并加以改进,不必等到开发的后期才寻找和修复缺陷.当然要明白的是持续集成环境的搭建也不是一劳永逸的,随着软件项目复杂度的增加,持续集成的环境同样要加以维护以确保集成环境的可靠性. 持续集成的重要要素:1.统一的代码库. 2.CI服务器 3.自动化测试和构建的脚本 4.Slaves 持

Jenkins+Maven+SVN快速搭建持续集成环境(转)

Jenkins是一个可扩展的持续集成引擎,Jenkins非常易于安装和配置,简单易用,下面看看我们是如何几分钟就快速搭建一个持续集成环境吧. 假设我们目前已经有2个maven项目:entities(JAVA类库),web(Web应用,依赖entities). 一.安装Jenkins 地址http://mirrors.jenkins-ci.org/下载适合的Jenkins版本. Windows最新稳定版的Jenkins地址为:http://mirrors.jenkins-ci.org/window

Redhat上为java Maven项目构建基于Jenkins + Github的持续集成环境

在Redhat enterprise 6.5 的服务器上,为在gutub 上的 java mvaen项目构建一个持续集成环境,用到了Jenkins.因公司的服务器在内网,访问外网时要通过代理,所以为maven加上了代理,如果你的服务器可以直接访问外网,则可以去掉代理..net 项目可参考 <在Redhat上为.Net 项目构建基于Jenkins + Github + Mono 的持续集成环境> 1. 安装 maven wget -e "http_proxy=http://web-pr

Jenkins+Maven+SVN快速搭建持续集成环境

http://www.cnblogs.com/sunzhenchao/archive/2013/01/30/2883289.htmlhttp://blog.csdn.net/pein_zero/article/details/52597615 首先要在服务器上安装好svn和maven. 前言      在安装之前,我想说明一下本文的目的,jenkins的一款持续集成工具,      它可以做的事情很多,其中一个主要的功能就是简化部署流程          回想一下我们的发布流程:        

使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(二)

前言     上一篇随笔Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一)介绍maven和nexus的环境搭建,以及如何使用maven和nexus统一管理库文件和版本,以及怎么将自己的模块上传至nexus私服,供其他模块引用.下面将主要介绍如何利用Jenkins.SVN.Tomcat以及Sonar来完成项目的自动化编译.测试和发布,以及检查项目的代码质量. 利器Jenkins     Jenkins源于另外一个持续集成工具Hudson,Hudson在o