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 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项目编译的更多相关文章
- tomcat中web项目编译后的结构
一. jsp文件在WEB-INF中 原项目结构及编译后的项目结构,原web项目与编译文件的对应关系如下:java下面的.java文件----->WEB-INF下的classes中,target下 ...
- Docker学习笔记五:Docker生成jenkins容器,支持Java Web项目持续集成、持续部署
一.创建jenkins容器: 1.拉取jeknin镜像 sudo docker pull jenkins 2.创建一个jenkins目录 sudo mkdir /jenkins 3.在jenkins目 ...
- web项目编译出错时,原因之一,可能是build path 中order and Export引起
build path中的order and Export,如果两个libarary中有相同功能的jar包,则编译器会选择顺序在前的jar包中相应的类作为编译所需. 所以,当项目jar包较多的时候,如果 ...
- IDEA 用maven创建web项目编译时不能发布resources中的文件
1.在pom.xml加入 <build> <resources> <resource> <directory>${basedir}/src/main/j ...
- 【Net】CEF浏览IISExpress运行Web项目
前言 本文介绍在Winform桌面应用中,使用IISExpress做Host主机,启动.Net平台的Web项目. 浏览Web网页使用CEF开源组件. 准备 首先创建Winform项目WinFormII ...
- [转]Maven实现直接部署Web项目到Tomcat7
From:http://my.oschina.net/angel243/blog/178554 http://yuandingjiema.iteye.com/blog/1752544 以前在项目中很少 ...
- Java Web学习系列——创建基于Maven的Web项目
创建Maven Web项目 在MyEclipse for Spring中新建Maven项目 选择项目类型,在Artifact Id中选择maven-archetype-webapp 输入Group I ...
- [原]Jenkins(七)---jenkins项目编译测试发布由maven构建的web项目
/** * lihaibo * 文章内容都是根据自己工作情况实践得出. * 版权声明:本博客欢迎转发,但请保留原作者信息! http://www.cnblogs.com/horizonli/p/533 ...
- 【转贴】 Flex 预编译处理 与 手机项目、Web项目、Air项目自由转换
原文连接: http://bbs.9ria.com/forum.php?mod=viewthread&tid=263350#lastpost 由于这个论坛不稳定,所以转到这里来,这个帖子蛮有用 ...
随机推荐
- MongoDB 学习使用
博客教程: https://jingyan.baidu.com/article/dca1fa6f0428a4f1a440522e.html
- 从C过渡到C++的几个知识点(结构体、引用、重载运算符)
一.结构体和类(class) 下面一个使用结构体类型的例子 #include <iostream> using namespace std; struct Point{ // 声明Poin ...
- tyflow车撞墙测试
- Redis安装完整步骤
安装: 1.获取redis资源 wget http://download.redis.io/releases/redis-4.0.8.tar.gz 2.解压 tar xzvf redis-4.0.8. ...
- Objective-C 优秀文章分享
1. Objective-C Runtime 2.KVO + Block 3.Method Swizzling 和 AOP 实践
- js-day04--Ajax应用--二级联动
Ajax概述和实用需求 Ajax介绍/阿贾克斯:一.Ajax不是一项具体的技术,而是几门技术的综合应用. Javascript.XHTML和CSS.DOM.XML和XMLHttpRequest.二.A ...
- Tensorboard可视化
# -*- coding: utf-8 -*-"""Created on Sun Nov 5 09:29:36 2017 @author: Admin"&quo ...
- Hadoop 操作常见问题解决
1. 安全模式下不可操作 提示信息: Hadoop "Cannot create directory .Name node is in safe mode." 解决方法: $ ha ...
- [Swift]LeetCode259.三数之和较小值 $ 3Sum Smaller
Given an array of n integers nums and a target, find the number of index triplets i, j, k with 0 < ...
- [Swift]LeetCode398. 随机数索引 | Random Pick Index
Given an array of integers with possible duplicates, randomly output the index of a given target num ...