架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 10059|回复: 0

[资料] Jekins 如何部署.net framework项目

[复制链接]
发表于 2018-11-22 10:29:09 | 显示全部楼层 |阅读模式
说明:本文中,“构建”“持续构建”“编译”“生成”的用法并不严谨,大概知道是什么意思就行。

首先说明,持续构建的话,是需要用到命令行的。
但dotnet core的命令似乎比dotnet framework的项目要简单一点。
因为dotnetcore 的构建命令是 dotnet msbuild xxxxx.csproj/yyyyy.sln
而 dotnet framework的构建命令是 .../msbuild.exe xxxx.csproj/yyyyy.sln,而其中最让人(主要是没掉过坑的人,掉过就好了)困惑的是这个msbuild.exe究竟是哪里的msbuild.exe ?毕竟windows中安装了dotnet framework SDK 或者不同版本的visual studio之后,是会有很多的msbuild.exe的,让人不明白究竟该用哪个而已。

下面开始讲解在windows中如何构建一个 dotnet framework 项目,其中为了不让项目本身的复杂度影响了主体思路,这里就认为是要构建的是一个类似于 Hello World 的简单控制台项目。
综上,环境:
开发机,windows pc;
发布机器,windows server;
项目,一个简单的dot net framework 控制台项目。(我这里使用了4.5.2版本)



开发机上新建项目,最好是用代码管理如git初始化,使得项目可以在其他机器上在有网的情况下可以clone得到。
开发机上随便在项目里写点什么,只要能编译通过就行。比如hello world。
另外,建议项目中添加一点对于nuget包的依赖,随便选点什么,比如 log4net引用。
在开发机上尝试编译项目。
(经过多次尝试,确认了命令行编译项目时候应该使用C:\windows\Microsoft .NET\Framework\v4.xxx\msbuild.exe 这个msbuild.exe。不过具体还是根据项目类型,选择是Framework64还是不带64,是v4.xxx还是3.x,2.x,这个意思很简单,看不懂就没救了)
如果项目在C:\projects\test 路径下,那么编译的命令应该是

或者
当然可能还需要带 诸如 /p:Configuration=Release /p:plotform="Any CPU"等其余参数,自己看情况办。

4. 在测试机上,git clone项目,并用同样命令尝试编译项目。
5. 如果不成功, 就要不断尝试正确的msbuild.exe 和路径,参数等,只要环境没有问题,就一定可以成功。
6. 但是,这里一个非常让人抓狂的问题来了,nuget依赖怎么办呢?现在我编译没有明显问题,只是我怎么知道该到哪去找nuget包呢?
这个问题就卡了我很久。
上nuget官网,下载nuget.exe文件。
经尝试,这个文件放在项目中(即跟sln或者csproj文件同级的目录下,执行 nuget.exe restore 命令,则可获取到需要的nuget包。这也就是我经过多次尝试后得到的经验)
那么,你可以在脚本中添加操作,每次都执行nuget.exe restore命令。
也可以将nuget.exe添加到环境变量(不解释),然后每次都执行,这样会方便一点。
7.最后再测试,发现发布机器上通过这样的操作和命令,完全可以成功编译项目。
这离最终的成功已经很近了。
实际上,对于理解何为jekins的人来说,这件事到这里就已经完毕了,剩下的都可以自己完成。



1.上jekins官网,下载,安装,启动jekins,注册账户,不解释。dotnet 项目则需要安装msbuild ,mstest ,mstestrunner插件。

2.jenkins全局配置msbuild。

20181012173352847.png

3. 新建项目,配置项目

20181012173532492.png

4. 构建项目。

基本上构建成功,不成功也好排查。

其实关于jekins的使用,更多的一共是自己学习,多次尝试,才能明白。

补充:

1.如果开发机用VS可以编译成功,但命令行中提示有不支持的语法。
那么可能是开发机用了更高级的语法规则编译(尽管项目是基于.net framework 4.5.2的),比如用了C#6.0
而发布机器只安装了.net framework 4.5.2,那么就不支持有些最新的语法。
所以在这种情况下,在发布机器上安装最新的sdk。
如图。
微软官网SDK下载:https://www.microsoft.com/net/download/visual-studio-sdks
下载相应的SDK即可。
SDK里面已经包含了Runtime。

2.如果Jekins的Job里需要用到windows的bat命令进行一系列操作,那么使用Jenkins的“        参阅 可用环境变量列表 ” 会有一定帮助。
写法如 “%WORKSPACE%”

3.如果路径中有空格,如 C:\Program Files (x86)\Microsoft.NET,则有必要在变量两边都加上双引号。
如:







上一篇:Jenkins 简单介绍
下一篇:Angular6 Material2 封装alert消息提示框
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2024-4-26 16:53

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表