Jenkins结合.net平台之Web项目编译

前面咱们讲解了如何使用msbuild.exe编译一个.net程序.示例中咱们讲解的是编译控制台项目,可是咱们知道web项目不只须要编译类的嵌入的资源文件,还要拷贝诸如css,html,js,图片等资源文件,比较旧的msbuild版本若是不对web项目做特殊处理则是不能复制这些资源文件的. css

下面咱们讲一下如何经过参数设置使得msbuild编译的web项目在编译时复制资源. html

首先咱们打开visual studio创建一个.net mvc项目.命名为GitTest.相信你们对新建普通mvc项目很是熟悉了,这里就再也不截图,咱们就使用默认板,不进行任何修改. web

而后咱们创建一个buildWebProj.bat批处理文件,内容以下: windows

"C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\MSBuild.exe" "E:\personal project\netdevops\Projects\GitTest\GitTest.sln" /t:ResolveReferences;Compile /t:_CopyWebApplication /p:Configuration=Release /p:WebProjectOutputDir="E:\personal project\netdevops\Projects\GitTest\GitTest\bin\Release" /p:OutputPath="E:\personal project\netdevops\Projects\GitTest\GitTest\bin" 浏览器

期中第一个空格前面部分是msbuild.exe文件所在位置.后面跟的是要进行编译的项目的名称.后面的是关于web项目编译的参数,这里参考了很多内容,你们在编译web项目时只要复制上面代码把msbuild.exe所在目录和项目sln文件所在目录替换下便可. 服务器

而后在Jenkins中新建一个项目,在build栏里面添加一个windows batch command步骤,而后在命令框里把bat文件完整路径写上执行build now.若是配置没有错误则会生成一条构建成功记录.构建成功后,咱们打开项目bin目录下的release文件夹,会看到生成的内容大体以下结构 mvc

能够看到Content,fonts,Scripts都复制到了这个目录下面. 测试

咱们把这些内容复制到iis预先建好的目录下面,而后打开浏览器会看到以下网页 ui

而后你可能会想,以前的步骤都是自动完成的,为何这里手动复制到iis目录下面呢,能不能编译完成后自动把这个目录复制到iis下指定的目录.呢,答案是确定的,咱们会在后面章节讲解如何搭建ftp服务器来实现把编译完成的内容发布到测试服务器..net

相关文章
相关标签/搜索