本人做.net研发已有3年多了,之前一直偏向于技术研究,自己学了很多技术,现在突然发现学了那么多技术有什么用呢?真正用到的并不多。

  现在?算是一只小鸟吧,自嘲下.....毕竟我是90后,很多领导对于90后这个词没有信任感,相信很多小伙伴都有这样的体会。

  

  好啦,不说那么多了,进入正题,第一次写,有错指出来,大家一起分享,一起学习

  首先,你得下载jenkins:https://jenkins-ci.org/content/thank-you-downloading-windows-installer/ 安装,

  安装完成后,它自己会打开jenkins的管理页面,端口默认是8080(需要修改在jenkins安装根目录jenkins.xml中修改端口号即可),ok,继续,我们选择系统管理-管理插件,

  这时候你的界面可能没有那么多插件可选,(可更新、可选插件、已安装、高级)都点下找到 立即获取点击,刷刷页面坐等ing.....好了如下图:

  然后在 可选插件 中找到 MSBuild Plugin,勾上点击直接安装,此时自动构建插件已安装完毕,其实就是调用VS的命令行生成平台MSBuild,如需发布插件(根据个人需求,前面的插件是将svn服务器中的最新代码生成出来,这个插件是发布,简单点说就是代替人工copy文件到服务器)请继续安装 Hudson Post build task,操作与之前一致,

  ok,进入系统管理=>系统设置,在MSBuild节点处点击 新增MSBuild,填入名称和MSBuild路径,MSBuild路径一般为C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSbuild.exe,根据需求自行配置。那么问题来了,服务器里面没有安装VS哪来的MSBuild?其实将开发机上的C:\Program Files (x86)\MSBuild文件夹直接拷贝到服务器中即可,或者你可以选择单独安装。

  ok,保存。

接下来开始新建Job

在 源码管理 处选择Subversion,输入你的svn地址,如果有帐号密码点击 enter credential 输入,

接下来,配置构建:

MSBuilder Version 为之前配置的 MSBuild v4.0.30319

MSBuild Build File 是解决方案文件或者项目文件的名称

然后就是MSBuild的命令行参数了。

/t:Rebuild 表示每次都重建,不使用增量编译

/property:Configuration=Release 表示编译Release版本,

/property:TargetFrameworkVersion=v4.5表示编译的目标是.NET 4.5版本

我们先构建测试下,不想测试的可以忽略。

完成后在Console Output中可以看构建情况,

这里我碰到一个问题,一直生成失败,VS可以正常生成,这里却报错,原因是我其中一个项目中的引用的为X86版与该项目的的X64版不一致造成,解决该问题或是在项目属性=>生成=>Release的生成序列化程序集设置为关闭

解决错误,0个错误成功.....

继续,我们接着配置Job,配置构建后操作(实际为生成成功后需要做的事情):

 \b0\s+(个错误) 是正则检索0个错误

当检索到0个错误后,执行F:\Test\xxxxx\Build.bat 批处理文件,这里我们将bat文件放在服务器 jenkins安装目录=>workspace=>Test(jenkins Job名称),或者是直接将bat文件上传到svn服务器跟解决方案文件放在一起)

Build.bat文件,根据自己的实际编写,

我这里实际做的就是生成出来的文件放置 bat文件所在盘符/TextWeb/Web中,这里值得注意的是需要 编辑器 自定义,也就是在BBBBBBBBBBB.csproj中添加Name="PublishToFileSystem"  的Target节点

@echo off
cd %~dp0
%windir%\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe ".\AAAAAAAAAA.sln" /m /t:Clean;Build /p:Configuration=Release /distributedFileLogger
if %errorlevel% NEQ 0 echo solution compile failed
if %errorlevel% NEQ 0 goto END echo compile is successful, starting deploy echo 1.deleting TextWeb directory
rd /s/q TextWeb echo 2.deploying file to TextWeb directory %windir%\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe ".\path\BBBBBBBBBBB.csproj" /t:PublishToFileSystem /p:Configuration=Release;PublishDir="..\TextWeb\Web" /distributedFileLogger
if %errorlevel% NEQ 0 echo Client deploy failed
if %errorlevel% NEQ 0 goto END :END
if %errorlevel% NEQ 0 (
if "%autoBuild%" EQU "1" (exit /b %errorlevel%)
pause
)

  <Target Name="PublishToFileSystem" DependsOnTargets="PipelinePreDeployCopyAllFilesToOneFolder">
<Error Condition="'$(PublishDir)'==''" Text="The PublishDir property must be set to the intended publishing destination." />
<MakeDir Condition="!Exists($(PublishDir))" Directories="$(PublishDir)" />
<!--http://msdn.microsoft.com/en-us/library/3e54c37h-->
<ItemGroup>
<PublishFiles Include="$(_PackageTempDir)\**\*.*" />
<!--Dlls in Lib folder, AdminBLL, BLL, BLL config, Custom component service, Repositories-->
<!--<DllFiles Include="$(MSBuildProjectDirectory)\..\Lib\**\*.*;$(MSBuildProjectDirectory)\Bin\*BLL.dll*.*" />-->
</ItemGroup>
<Copy SourceFiles="@(PublishFiles)" DestinationFiles="@(PublishFiles->'$(PublishDir)\%(RecursiveDir)%(Filename)%(Extension)')" SkipUnchangedFiles="false" />
<!--<Copy SourceFiles="@(DllFiles)" DestinationFiles="@(DllFiles->'$(PublishDir)\Bin\%(RecursiveDir)%(Filename)%(Extension)')" SkipUnchangedFiles="false" />-->
</Target>

大功告成!尽情享受吧~根据需求可在jenkins中配置发布失败邮件发送,添加一些用户来维护等等.

浅谈.net jenkins svn下自动化集成环境安装 搭建 配置的更多相关文章

  1. Jenkins + Jmeter +Ant自动化集成环境搭建(一)

    所需工具 一.jmeter 工具下载 https://jmeter.apache.org/  配置环境JDK等及各种插件可以看小七之前的教程 二.Ant安装(http://ant.apache.org ...

  2. Linux下xampp集成环境安装配置方法 、部署bugfree及部署禅道

    XAMPP(Apache+MySQL+PHP+PERL)是一个功能强大的建站集成软件包.XAMPP 是一个易于安装且包含 MySQL.PHP 和 Perl 的 Apache 发行版.XAMPP 的确非 ...

  3. Windows版Jenkins+SVN+Maven自动化部署环境搭建【转】

    前言 因今年公司新产品线较多,为了降低耦合,达到业务分离.重用,提高内部开发效率的目的,采用了基于服务组件.前后端分离的架构体系.与之前传统单应用架构相比,系统部署.配置更加复杂,为了能够频繁地将软件 ...

  4. Jenkins+Jmeter+Ant自动化集成环境搭建

    1.搭建环境,安装以下工具 JDK:jdk1.7.0_79 Ant:apache-ant-1.9.7 Jmeter: apache-jmeter-3.0 Jenkins: jenkins-1.651. ...

  5. PHP学习总结(8)——PHP入门篇之WAMPServer集成环境安装和配置

    WampServer就是Windows Apache Mysql PHP集成安装环境,即在window下的apache.php和mysql的服务器软件.WampServer是一款由法国人开发的Apac ...

  6. xampp windows10下xdebug调试环境安装及配置

    xampp是在windows环境下做php,mysql开发的全家桶,免去了很多apache, php集成配置,数据库驱动安装配置的过程,应用非常广泛. xdebug是php开发调试必备利器,本文就记录 ...

  7. WampServer集成环境安装与配置

    实习到了第三个礼拜了,原来我们小组是以开发php为主的,我们项目的服务器也是用php做的,因此我觉得很有必要学一下php的相关知识,首先当然是搭建环境了,写篇博客分享下经验. 目录: 一.软件下载 二 ...

  8. Ubuntu下LaTex中文环境安装与配置

    转载自:http://www.linuxidc.com/Linux/2012-06/62456.htm LaTeX是一个强大的排版软件,但是其最初只是为英文排版而设计的.为了使其能够胜任中文排版的重任 ...

  9. Linux系统下 Apache+PHP 环境安装搭建

    一.安装Apache2.2.221.到官网下载  http://httpd.apache.org/download.cgi ,选择相应的版本 可以先下载到windows系统中,上传到linux, 也可 ...

随机推荐

  1. Gitlab 赋予某台机器git clone的权限 Deploy key

    开发项目CI(持续化部署)的时候,需要赋予jeckins所在的机器从gitlab远程仓库克隆代码到本地的权限. 之前我们基本都是通过管理gitlab某个项目的成员的方式,管理gitlab的权限. 但是 ...

  2. Android-Lock-多线程通讯(生产者 消费者)&等待唤醒机制

    此篇博客以 生产面包

  3. IIS日志存入数据库之一:ODBC

    园内@Fish Li的文章<IIS日志-网站运维的好帮手>中介绍将IIS的文本格式的文件导入数据库的方法.在实践中,我们发现导数据的速度很慢,一个200M的日志文件居然要近100分钟.我们 ...

  4. csdn 不登录浏览全文 chrome 浏览器

    1将此文章存到书签栏. 2 右键点击保存到书签栏的这个书签,然后点击修改. 3 名称改为:CSDN查看全文,网址改为: javascript:$("#article_content" ...

  5. spark-mllib 密集向量和稀疏向量

    spark-mllib 密集向量和稀疏向量 MLlib支持局部向量和矩阵存储在单台服务器,也支持存储于一个或者多个rdd的分布式矩阵 . 局部向量和局部矩阵是用作公共接口的最简单的数据模型. 基本的线 ...

  6. C#单例类的实现

    C#单例类的实现 单例类保证一个类全局仅有一个实例,并提供一个全局访问点,由于只能生成一个实例,因此我们必须把构造函数设为私有函数以禁止他人创建实例. 实现1:懒汉式,线程不安全 该实现没有额外开销, ...

  7. C# 利用VS中的插件来打包并发布winfrom程序

    1.先在VS 的扩展更新中搜索此插件[2015 installer Projects],点击下载,安装需要关闭VS 2.安装完毕之后新建项目 3.选择“application folder”项,然后在 ...

  8. Linux系统文件与目录管理(1)

    文件与目录的操作 在Linux系统的文件与目录的管理上,不外乎『显示属性』.『拷贝』.『删除文件』.『移动文件或目录』.『重命名』等常用操作,由于文件与目录的管理在 Linux当中是很重要的,尤其是每 ...

  9. 优化openfire服务器提升xmpp 效率的15个方法(原创)

    1.禁用原生xmpp搜索,使组织架构.人员数据本地化保存,并使客户端数据同步服务器,降低原生xmpp搜索的iq消耗,因为搜索是im应用的频繁操作: 2.禁用roster花名册.禁用presence包通 ...

  10. 大数据与Hadoop

    figure:first-child { margin-top: -20px; } #write ol, #write ul { position: relative; } img { max-wid ...