Jenkins搭建C#编译开发环境笔记

首先这不是一篇手把手教学,只记录搭建过程中的问题汇总。

windows上安装jenkins是以服务的方式跑的。如果是解压版的,下文nuget那里可能处理方式不同。
主要区别是服务是以 Local System 用户跑的,AppData文件夹不一样

  1. Msbuild下载就在vs2019下载页面那里,https://visualstudio.microsoft.com/zh-hans/downloads/ 下面的 Visual Studio 2019 工具 / Visual Studio 2019 生成工具
    和vs2019安装方式基本差不多,可选各种模块。nuget下载地址好找,就一个exe
  2. 上面两个路径都要添加到 环境变量 Path 里
    msbuild我的默认路径是 C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Current\Bin 可以参考一下,反正就是文件夹里有Msbuild.exe的路径
    nuget直接放msbulid同目录也可以,比较省事,Path里添加一个路径就行了
    这个改动需要重启Jeikins服务生效
  3. 我的msbuild命令行给大家参考,用的jenkins里的msbuild插件
nuget restore
msbuild -t:restore -p:Configuration=$env:Configuration -p:Platform="Any CPU" -v:minimal -p:WarningLevel=0  -t:Project0:Rebuild "./Solution.sln"
msbuild -t:restore -p:Configuration=$env:Configuration -p:Platform="Any CPU" -v:minimal  -p:WarningLevel=1 -t:Folder\Project1:Rebuild "./Solution.sln"

因为我的sln文件里包括好多项目,但是我只想编译其中的两个,

主要讲两点,1是jenkins变量的使用,2是vs项目文件夹的问题
$env:Configuration 是jenkins项目配置里添加的参数,构建之前通过改参数就可以切换目标
powershell里使用 $env:名称 的方式使用
在这里插入图片描述
vs的解决方案项目文件夹不等于实际的目录结构,Project1 和Project0 可能实际在一个目录,命令行里要以在vs的 解决方案浏览器 里的组织结构为准。

  1. 构建的时候遇到 error CS0006
    参考 https://stackoverflow.com/questions/48896486/jenkins-not-restoring-nuget-packages-with-new-msbuild-restore-target
    方案1设置个全局变量 NUGET_PACKAGES
    方案2拷贝Nuget.config文件,确保以下两个位置都有nuget.config
    C:\Windows\system32\config\systemprofile\AppData\Roaming\NuGet\NuGet.config
    C:\Windows\SysWOW64\config\systemprofile\AppData\Roaming\NuGet\NuGet.config
    我这面方案1添加全局变量有效,需要重启jenkins服务。

  2. jenkins主题,http://afonsof.com/jenkins-material-theme/ 我做了一点修改,下载的css文件,搜索’#main-panel‘把字体改了一下,对应于控制台输出窗口的字体。
    #main-panel>pre {
    font-family: Consolas !important
    }

#main-panel>pre>* {
font-family: Consolas !important
}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值