欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Jenkins基础系统之完整的.net项目编译

程序员文章站 2022-04-15 16:27:42
一、目标 搭建jenkins服务器以及配置一台.net编译的slave客户端 完整跑通一个asp.net项目的发布 二、搭建jenkins环境 2.1 安装jenkins 1. 根据官网提示安装 进入jenkins官网下载==最新(如果不是最新的包,可能会存在推荐插件不能安装的现象)==的稳定包,我 ......

一、目标

  • 搭建jenkins服务器以及配置一台.net编译的slave客户端
  • 完整跑通一个asp.net项目的发布

二、搭建jenkins环境

2.1 安装jenkins

1. 根据官网提示安装
  • 进入jenkins官网下载==最新(如果不是最新的包,可能会存在推荐插件不能安装的现象)==的稳定包,我使用的是2.222版本
  • 下载好war(推荐用war包,方便)包后,运行如下命令
java -jar jenkins.war --httpport=9800
  • 然后访问ip:9800进入jenkins的配置,第一次需要输入生成的密码,可以根据界面提示找到相关文件
  • 插件安装完成后进入主管理界面
    Jenkins基础系统之完整的.net项目编译
2. 处理插件源的问题

在安装jenkins提供的插件时,遇到了国内网络不稳定的问题,解决办法就是更换镜像源,网上好多都是推荐用[清华大学]的镜像,但[清华大学]的镜像服务器的update-center.json文件内部的包引用地址,还是指向的jenkins更新中心。所以需要搭建一个update-center.json提供服务器,
地址(这是我自己搭建,可供大家测试使用):

  • 换源方法如下:
  • 进入插件管理->高级页,配置新源地址
    Jenkins基础系统之完整的.net项目编译
  • 更换启动命令
java -dhudson.model.downloadservice.nosignaturecheck=true -jar jenkins.war --httpport=9800

其中dhudson.model.downloadservice.nosignaturecheck=true表示禁用upddate-center.json安全检测

3. 本地安装插件

jenkins也提供插件本地安装的能力,也在“更新中心"->"高级"面板,操作简单,此处不在赘述。

2.2 安装.net相关插件

 插件名                             备注

svn 1.4 compatibility plugin      svn拉取代码

powershell plugin                      执行ps脚本

msbuild plugin                          编译.net项目

file operations plugin              对文件做操作

2.3 添加slave节点

  • 在节点管理中心添加从节点配置 Jenkins基础系统之完整的.net项目编译
  • 根据提示下载相应的包,并运行
    Jenkins基础系统之完整的.net项目编译
  • 然后在节点管理中心,就可以看到slave上线了
    Jenkins基础系统之完整的.net项目编译

三、配置.net发布job

配置.net发布job,看上去很简单,但经过实践操作发现还是有许多点值得注意。

3.1 全局配置

  • 全局凭据:jenkins对svn, git等有一个全局凭据中心来管理账号,这类账号可以在此中心管理,配置结果如下图:
    Jenkins基础系统之完整的.net项目编译
  • 全局工具中心:添加msbuild编译器
    Jenkins基础系统之完整的.net项目编译
    • 注意
      • 其中配置的msbuild路径应该是.net编译环境所在位置,如果是在slave机器上,要配置slave机器上的路径
      • 此处注意msbuild版本的选择,此处配置为.net4.5的msbuild路径:c:\program files (x86)\microsoft visual studio\2017\community\msbuild\15.0\bin

3.2 创建一个*风格的项目

这步简单,暂不提供图片

3.3 限制job在指定节点运行

Jenkins基础系统之完整的.net项目编译

3.4 配置svn仓库

Jenkins基础系统之完整的.net项目编译
此处注意凭据的选择,应该是对应得上,以及svn的地址要填写正确

3.5 配置nuget

Jenkins基础系统之完整的.net项目编译
nuget的地址,指向是的slave节点存放nuget的地址,配置代码如下:

"d:\nuget\nuget.exe" restore "fm.flogreport.sln"

3.6 配置msbuild

Jenkins基础系统之完整的.net项目编译
配置代码如下:

/t:build
/p:configuration=release
/p:webprojectoutputdir=./bin/publish
/p:outputpath=./bin/publish/bin

3.7 压缩文件

Jenkins基础系统之完整的.net项目编译
此处注意:

  • 径是从job任务根路径开始的,与下图对比可知,归档文件路径也是如此:Jenkins基础系统之完整的.net项目编译
  • 此处压缩为zip文件

3.8 归档文件

Jenkins基础系统之完整的.net项目编译

四、运行job

按照上述配置完成后,执行"构建",就可以获取job结果。 Jenkins基础系统之完整的.net项目编译