博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Jenkins构建基于.NET Framework的web程序
阅读量:4350 次
发布时间:2019-06-07

本文共 2187 字,大约阅读时间需要 7 分钟。

之前写了一篇Jenkins+gogs发布的基础文章。这篇博客是基于之前的文章写的。

之前文章地址:

所以阅读以下文章你需要有Jenkins+git的基础构建的知识。

这次主要是写如何用Jenkins构建基于.NET Framework的web应用程序。

 

一.  先决条件

安装顺序 名称 下载地址 备注
1 .NET Framework Developer Pack 下载安装你要编译的项目的版本。如果安装的时候提示已经安装更高的版本啥的就不要管了。
2 .NET Framework Runtime
3 Visual Studio MSBuild

没错就是下载Visual Studio,如果想省事就直接把vs装在服务器上吧。不想的话就复制本机的

"C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise"(vs安装目录)

目录下的"MSBuild"和"Team Tools"两个文件夹到服务器的相同目录下吧。

4 Visual Studio Team Tools
5 NuGet 这个是用来下载你项目中引用的包的。下载好了后把exe放到你觉得合适的地方就好了,不用双击运行。

 

二. 配置Jenkins

先安装插件MSBuild

在全局工具配置里面配置MSBuild,然后点击保存。

 解释下这里的参数:

  • Name:这个名字随便写,到后面项目构建的时候要根据这个名字选择。
  • Path to MSBuild:vs安装目录中MSBuild.exe的所在路径。

 

三. 在构建项目中使用

先创建项目

点击确定

 

配置好git

 

增加构建步骤,"执行windows批处理命令"和"Build a Visual Studio project or solution using MSBuild"

 

  执行windows命令就是还原nuget包,命令格式为:nuget.exe地址 restore 项目文件.sln

  Build a Visual Studio project or solution using MSBuild 中的参数含义:

  •   MSBuild Version:选择你之前在全局配置里面弄好的
  •   MSBuild Build File:写你项目中的.csproj文件的路径
  •   Command Line Arguments:要执行的MSBuild命令

    介绍下MSBuild命令

         官方文档:

         我这里说下我使用的:

  1. /t:Rebuild:重新生成
  2. /p:Configuration=Release:Release 生成模式
  3. /p:VisualStudioVersion=15.0:指定子工具集版本,不设置会报错。(VS2015是14.0,VS2017是15.0)
  4. /p:DeployOnBuild=True;PublishProfile="pubxml文件名":使用.pubxml 发布文件来发布项目
  5. /p:publishUrl="存放路径":构建完成后的整个编译后项目文件存放地。

  这里尤其应该注意的是这个pubxml文件,默认应该在"/Properties/PublishProfiles"文件夹下。但是默认项目好像是没有的。

  所以这个时候,要手动生成了如果你用过vs自带的发布就应该会,在vs中右键web项目然后点击发布,发布完了后,"/Properties/PublishProfiles"文件夹下就会出现.pubxml文件了。

  最后把.pubxml文件上传到git就好。如果你不想我说的这么麻烦,可以直接在"/Properties/PublishProfiles"文件夹下新建FolderProfile.pubxml,然后在里面写我下面的内容,最后上传到git也行。

FileSystem
FileSystem
Release
Any CPU
True
False
bin\Release\Publish
False

这里我要解释下publishUrl这个节点,这个节点就是发布后的文件存放地,但是我觉得这个写服务器路径不太好,所以在命令行里面写了。

命令行里面的参数应该是会覆盖这个节点里面写的。所以按照命令行里面的路径去发布了。

 

最后,保存就可以了。然后在外面构建即可。

 

 

感谢以下链接给我的帮助:

  https://www.cnblogs.com/huhubun/p/6345077.html

  https://blog.csdn.net/sD7O95O/article/details/82504547

转载于:https://www.cnblogs.com/cluyun/p/11180750.html

你可能感兴趣的文章
监控系统信息模块psutil
查看>>
python tokenizer
查看>>
类的成员修饰符
查看>>
A - Race to 1 Again
查看>>
Android studio来开发移动App--SQA计划和系统测试规程
查看>>
模式学习(一)
查看>>
高精度计算(二)
查看>>
二位几何运算类
查看>>
ZOJ 3622 Magic Number 打表找规律
查看>>
World final 2017 题解
查看>>
【兼容性】IE不支持日期字符串转换为日期对象
查看>>
函数语言
查看>>
笔试编程---快手实习题目
查看>>
csp20170304地铁修建_Solution
查看>>
快速沃尔什变换 与 快速莫比乌斯变换
查看>>
SQL的四种连接-左外连接、右外连接、内连接、全连接
查看>>
Palindromic Substrings
查看>>
改变和恢复view的方向
查看>>
C#调用金数据API
查看>>
用事实说话,成熟的ORM性能不是瓶颈,灵活性不是问题:EF5.0、PDF.NET5.0、Dapper原理分析与测试手记(转)...
查看>>