zoukankan      html  css  js  c++  java
  • Jenkins结合.net平台之Web项目编译

    前面我们讲解了如何使用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 Studio2017EnterpriseMSBuild15.0BinMSBuild.exe" "E:personal project etdevopsProjectsGitTestGitTest.sln" /t:ResolveReferences;Compile /t:_CopyWebApplication /p:Configuration=Release /p:WebProjectOutputDir="E:personal project etdevopsProjectsGitTestGitTestinRelease" /p:OutputPath="E:personal project etdevopsProjectsGitTestGitTestin"

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

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

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

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

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

  • 相关阅读:
    Win7系统中打开exe 无反应
    IE 浏览器主页劫持 如何修复
    win10 airpods显示已配对,但就是连不上怎么办?
    tp5 layui 渲染 时间戳转换为日期时间格式
    为什么要设置 繁琐的密码
    美食摄影 – 明确目的
    MsMpEng.exe进程停止删除或弹出设备,导致移动硬盘无法正常弹出,怎么办?
    单抗热门靶点 | VEGF | TNF-α | CD20 | HER2 | PD-1 | IL-6R | CD47
    EZH2 | Ezh2 | 组蛋白甲基化酶/组蛋白甲基转移酶
    宇宙微波背景辐射 | 著名实验
  • 原文地址:https://www.cnblogs.com/tylerzhou/p/9076840.html
Copyright © 2011-2022 走看看