Jenkins结合.net平台工具之Msbuild

前面咱们讲解了关于Jenkins的一些基本知识,经过这些知识咱们能够结合一些其它工具实现更为复杂的任务,本篇咱们将介绍如何使用msbuild工具结合Jenkins实现构建一个.net控制台框. windows

首先咱们打开visual studio建立一个控制台程序,叫做ConsoleBuildTest,以下图示 工具

 

此时,打开windows cmd输入msbuild,若是会出现以下相似界面 ui

则cmd能够正确找到cmd命令.若是报错,则将如下路径添加到环境变量的path里: spa

Microsoft.NET\Framework\v4.0.30319 .net

这时候再在cmd里输入msbuild看看可否找到msbuild,若是仍然不行,则你须要显式地指定msbuild.exe所在位置. debug

若是msbuild命令能够正常工具,咱们则打开jenkins建立一个名为ConsoleBuildTest的freestyle项目 3d

Add Build step里选择execute windows batch command,在弹出的命令框里输入命令 blog

其中引号里面的为要构建的项目的路径,读者建立项目所在的目录可能和个人不同,只须要指定该项目的sln或者csproj文件便可. cmd

这里我并无直接使用msbuild命令,而是显式的指定msbuild文件所在的路径,这是由于个人系统装了mono,老是致使msbuild没法正确找到csc.exe文件位置,所以显式指定.固然若是小伙伴们没有装vs 2017或者版本跟个人不同,则不能在相同的路径下找到msbuild.exe,若是你不知道msbuild.exe在什么位置,推荐你搜索everything而后下载everything,在everything里输入msbuild.exe,则everything会列出全部msbuild,.exe所在的位置 jenkins

 

建立完成任务,咱们点击build now按钮,若是配置没有错误,则生成一条构建记录.

点击构建记录进入详情页,而后点击console output,你将会看到以下图示控制台输入内容

此时你打开项目目录下的bin/debug目录将会看到已经构建好的内容.

点击consoleTest.exe,将会出现如下窗口

能够看到控制台程序正常运行并输入helloworld.

这时候若是你手动按下了f5或者在visual studio里点击了生成,你就会纳闷,这项目是Jenkins生成的呢仍是visual studio生成的呢,为了消除疑惑,咱们更改msbuild参数指定生成目录(默认生成在bind\debug目录下)

咱们点击左侧的configure进入项目编辑模式,咱们把命令内容更改成以下

 

和上一次的不一样之所在于咱们指定了outdir为bin\mydebug(不须要手动建立mydebug目录,msbuild生成的时候若是不存在会自动建立)

咱们再次点击Save保存项目.而后再次点击Build Now.

若是没有错误,则会有一个成功的生成记录.打开项目下的bin目录你将会看到一个MyDebug目录

注意这里的第一个坑,虽然上面的代码比较乱,可是也不要使用回车来分行让它显得更整洁,不然生成时可能报错.

从前面的不指定构建目录默认生成在debug目录下能够看到,若是不指定生成模式,则默认生成debug项目,可是正式环境咱们是要生成realease的,如何指定realease模式呢,

继续修改项目,把配置设成以下

 

若是生成成功,则会有一条成功记录,console output以下

打开目录下的bin目录,你会看到多了一个MyRealese文件夹,正是咱们刚才指定的