本文测试环境: ASP.NET MVC项目,Windows 7环境,SVN代码仓库, MSBuild,TortoiseSVN

持续集成这种工具很多了,Jenkins比较常用,他的原理就是一个服务,有一个管理网站,可以去你指定的代码仓库获取代码文件,可以设置什么时候,什么情况下去触发,到仓库获取文件。一般的用法是开发者commit代码到仓库时,Jenkins获取最新的代码,编译生成发布,执行单元测试等,copy到测试环境(部署),这一整个过程的自动化执行,并且伴随开发过程中的代码提交,这个过程一直在执行,Jenkins就是这样一个工具。这样做的目的是,一个项目有N个模块时,每个人只开发自己的一些模块,每完成一次提交,通过持续集成就能检测整个项目系统的情况,防止等到最后发现某一个模块有问题。试想一下,一个设备有N个零件组成,当设备在组装时已经确认所有零件是合格的,因为每个零件完成时都做了严格的测试。如果有零件不合格,到组装成品时才发现,这个影响就大了。

Jenkins的安装,没什么好说的,官方下载,按跟说明做就行了(需要java环境)。安装完需要安装一些插件,注意Jenkins有N多的插件可以选择,我这里安装了MSBuild, Subversion等,有些插件是有依赖项,它会自动安装相关的依赖。

安装完需要的插件后,就可以添加任务了。录入任务信息,设置源代码仓库的位置、帐号,怎么触发,怎么构建等等。

因为我上面只安装的subversion,这里会出现一个subversion的选项,配置好项目的SVN地址,SVN访问帐号等。其它Jenkins下面还有Git等其它插件。

触发设置,就是在什么情况下Jenkins从代码仓库获取文件,注意看这里有好几个选项,点击?图标有提示。常见的有Jenkins去轮询SVN是否有新的提交(SCM),如有则执行;还有一种是在SVN端设置一个触发钩子,当有新的提交时通知Jenkins。这里使用SCM方式,日程表就是轮询的频率设置,这个和Linux里的Contab表达式是一样的,此处为周一到周五每天的9:00到18:00,每隔5分钟轮询一次。

拿到代码以后,如何构建,这个就是重点了,我这里是.NET项目,那就用MSBuild工具来编译生成了,其它平台有对应的插件和工具,关于MSBuild是一个非常强大的命令行工具,可以查询MSDN或MSBuild /h查看详情。

注意看这里的构建步骤,可以有很多个,你可以根据实际情况,先后顺序来做很多步的处理,可以把相关的操作放到一个bat或者ps1脚本里来处理,我这里处理步骤是下载完源代码后,先还源nuget引用 (这里使用了nuget官方提供的windows上的命令行工具nuget.exe),然后调用MSBuild编译生成。这一步的配置,可以先在命令行测试一下。(后面的发布,测试,部署我还没有试)

任务添加完之后,就可以在Jenkins里自动执行了,或者点击“立即构建”测试一下。

点击构造记录,可以查看本次运行的详细信息,还可以看控制台输出等信息。

Jenkins持续集成 入门实践的更多相关文章

  1. fir.im weekly - 「 持续集成 」实践教程合集

    我们常看到许多团队和开发者分享他们的持续集成实践经验,本期 fir.im Weekly 收集了 iOS,Android,PHP ,NodeJS 等项目搭建持续集成的实践,以及一些国内外公司的内部持续集 ...

  2. jenkins持续集成简介[一]

    标签(linux): jenkins 笔者Q:972581034 交流群:605799367.有任何疑问可与笔者或加群交流 什么时持续集成? Continuous integration(CI) 持续 ...

  3. Linux-GitLab+Jenkins持续集成+自动化部署

    GitLab+Jenkins持续集成+自动化部署 什么是持续集成? (1)Continuous integration (CI) 持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个 ...

  4. Jenkins持续集成学习-Windows环境进行.Net开发4

    目录 Jenkins持续集成学习-Windows环境进行.Net开发4 目录 前言 目标 Github持续集成 提交代码到Github 从Github更新代码 git上显示构建状态 自动触发构建 Gi ...

  5. .NET持续集成与自动化部署之路第一篇——半天搭建你的Jenkins持续集成与自动化部署系统

    .NET持续集成与自动化部署之路第一篇(半天搭建你的Jenkins持续集成与自动化部署系统) 前言     相信每一位程序员都经历过深夜加班上线的痛苦!而作为一个加班上线如家常便饭的码农,更是深感其痛 ...

  6. Jenkins持续集成【简介】

    1.1 目前主流网站部署的流程    目前主流网站部署方法,通过Hudson/Jenkins工具平台实现全自动部署+测试,是一个可扩展的持续集成引擎,是一个开源软件项目,旨在提供一个开放易用的软件平台 ...

  7. Jenkins持续集成企业实战系列之Jenkins持续集成简介及安装-----02

    1.      Jenkins持续集成简介 注:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.    最初接触Jenkins也是由于公司需求, ...

  8. Jenkins持续集成企业实战

    阅读目录: Jenkins持续集成企业实战1.1 目前主流网站部署的流程1.2 Jenkins持续集成简介1.3 Jenkins持续集成组件1.4 Jenkins平台安装部署1.5 Jenkins相关 ...

  9. 手把手教你利用Jenkins持续集成iOS项目

    前言 众所周知,现在App的竞争已经到了用户体验为王,质量为上的白热化阶段.用户们都是很挑剔的.如果一个公司的推广团队好不容易砸了重金推广了一个APP,好不容易有了一些用户,由于一次线上的bug导致一 ...

随机推荐

  1. dp经典问题-最大连续子序列和 hdu1003

    题目描述: 这道题我先后做过三遍,结果每一遍都没有做出来.今天再仔仔细细的研究了一下,才发现用动态规划更好理解. 关于求最大连续子序列和的博文转载如下:https://www.cnblogs.com/ ...

  2. HDU 4614 Vases and Flowers 【线段树】+【二分】

    <题目链接> 题目大意: 有n个花瓶,每个花瓶中只能放一朵花.两种操作,一种是从A开始放F朵花,如果有的花瓶中已经有花则跳过这个花瓶,往下一个花瓶放:第二种是将区间[A,B]之间花瓶中的花 ...

  3. sqlserver日志文件

    过程:   昨天下午数据库奔溃,表现就是连不上数据库了,重启服务之后好了. 查询日文文件 , “Autogrow of file 'XX_log' in database 'XX' was cance ...

  4. 超越halcon速度的二值图像的腐蚀和膨胀,实现目前最快的半径相关类算法(附核心源码)。

    我在两年前的博客里曾经写过 SSE图像算法优化系列七:基于SSE实现的极速的矩形核腐蚀和膨胀(最大值和最小值)算法  一文,通过SSE的优化把矩形核心的腐蚀和膨胀做到了不仅和半径无关,而且速度也相当的 ...

  5. Wan Android 项目总结

    Wan Android 项目总结 项目的由来 这个项目也算是自己学习了一段时间的Android以后的一个总结和学习吧,项目采用了Kotlin语言,Api采用的hongyang大神的WanAndroid ...

  6. Xamarin SQLite教程数据库访问与生成

    Xamarin SQLite教程数据库访问与生成 在本教程中,我们将讲解如何开发SQLite相关的App.在编写程序前,首先需要做一些准备工作,如了解Xamarin数据库访问方式,添加引用,构建使用库 ...

  7. 洛谷.3369.[模板]普通平衡树(Splay)

    题目链接 第一次写(2017.11.7): #include<cstdio> #include<cctype> using namespace std; const int N ...

  8. Git——常用场景解析

    总结:本篇文章从初识GitHub.Git,实践GitHub的五种常用场景,分别是:git for windows安装,git配置,克隆远程代码到本地,上传本地代码到远程以及Git的常用指令.相信Jam ...

  9. 第一本docker书,,持续更新中

    1.查看应用是否在docker中部署成功 需要确认curl已安装 whereis curl sudo apt-get -y install curl curl localhost:8081   如果成 ...

  10. setuid setgid

    http://blog.csdn.net/oo__yan/article/details/7076889 在Linux系统中每个普通用户都可以更改自己的密码,这是合理的设置. 问题是:用户的信息保存在 ...