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

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

首先我们打开visual studio建立一个.net mvc项目.命名为GitTest.相信大家对新建普通mvc项目非常熟悉了,这里就不再截图,我们就使用默认板,不进行任何修改.

然后我们建立一个buildWebProj.bat批处理文件,内容如下:

"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文件夹,会看到生成的内容大致如下结构

可以看到Content,fonts,Scripts都复制到了这个目录下面.

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

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

Jenkins结合.net平台之Web项目编译的更多相关文章

  1. tomcat中web项目编译后的结构

    一. jsp文件在WEB-INF中 原项目结构及编译后的项目结构,原web项目与编译文件的对应关系如下:java下面的.java文件----->WEB-INF下的classes中,target下 ...

  2. Docker学习笔记五:Docker生成jenkins容器,支持Java Web项目持续集成、持续部署

    一.创建jenkins容器: 1.拉取jeknin镜像 sudo docker pull jenkins 2.创建一个jenkins目录 sudo mkdir /jenkins 3.在jenkins目 ...

  3. web项目编译出错时,原因之一,可能是build path 中order and Export引起

    build path中的order and Export,如果两个libarary中有相同功能的jar包,则编译器会选择顺序在前的jar包中相应的类作为编译所需. 所以,当项目jar包较多的时候,如果 ...

  4. IDEA 用maven创建web项目编译时不能发布resources中的文件

    1.在pom.xml加入 <build> <resources> <resource> <directory>${basedir}/src/main/j ...

  5. 【Net】CEF浏览IISExpress运行Web项目

    前言 本文介绍在Winform桌面应用中,使用IISExpress做Host主机,启动.Net平台的Web项目. 浏览Web网页使用CEF开源组件. 准备 首先创建Winform项目WinFormII ...

  6. [转]Maven实现直接部署Web项目到Tomcat7

    From:http://my.oschina.net/angel243/blog/178554 http://yuandingjiema.iteye.com/blog/1752544 以前在项目中很少 ...

  7. Java Web学习系列——创建基于Maven的Web项目

    创建Maven Web项目 在MyEclipse for Spring中新建Maven项目 选择项目类型,在Artifact Id中选择maven-archetype-webapp 输入Group I ...

  8. [原]Jenkins(七)---jenkins项目编译测试发布由maven构建的web项目

    /** * lihaibo * 文章内容都是根据自己工作情况实践得出. * 版权声明:本博客欢迎转发,但请保留原作者信息! http://www.cnblogs.com/horizonli/p/533 ...

  9. 【转贴】 Flex 预编译处理 与 手机项目、Web项目、Air项目自由转换

    原文连接: http://bbs.9ria.com/forum.php?mod=viewthread&tid=263350#lastpost 由于这个论坛不稳定,所以转到这里来,这个帖子蛮有用 ...

随机推荐

  1. 面试题:int和Integer的区别

    java底层源码:  -128  127之间

  2. SSM 框架搭建

    SSM框架搭建(Spring.SpringMVC.Mybatis) 一:基本概念 Spring :      Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框 ...

  3. python语法_装饰器

    装饰器的知识点储备: 1 作用域 2 高阶函数 3 闭包 内部函数,对外部作用作用域的变量进行了引用,该内部函数就认为是闭包, def outer(): x=10 def inner(): print ...

  4. vscode设置

    通过ctrl+滚轮实现字体大小改变:在文件-->首选项-->设置-->用户设置中添加如下代码:"editor.mouseWheelZoom": true,

  5. vs2017开发Node.js控制台程序

    1,新建项目  NodejsConsoleApp1 2,在项目的根目录下,添加 sayModule.js 文件 //sayModule.js function Say1Module() { this. ...

  6. 【RL-TCPnet网络教程】第23章 RL-TCPnet之地址解析协议ARP

    第23章      RL-TCPnet之地址解析协议ARP 本章节为大家讲解ARP(Address Resolution Protocol,地址解析协议),通过前面章节对TCP和UDP的学习,需要大家 ...

  7. 多媒体文件格式(四):TS 格式

    一.TS 格式标准介绍 TS是一种音视频封装格式,全称为MPEG2-TS.其中TS即"Transport Stream"的缩写. 先简要介绍一下什么是MPEG2-TS: DVD的音 ...

  8. WordPress独立下载页面与演示插件:xydown

    我的博客是个资源分享的网站,所以需要提供下载,之前一直是在内容里直接添加个下载链接,感觉不是很美观,而且也麻烦,所以今天找了下看看有没有可以用的下载插件 xydown,这是一款可以独立下载页面与演示的 ...

  9. [Swift]LeetCode472. 连接词 | Concatenated Words

    Given a list of words (without duplicates), please write a program that returns all concatenated wor ...

  10. [Swift]LeetCode920. 播放列表的数量 | Number of Music Playlists

    Your music player contains N different songs and she wants to listen to L (not necessarily different ...