GitLab CI .NET 部署中的几个坑

  • 信息乱码
  • Msbuild编译失败 VS却编译成功
  • 设置环境变量本地有用,可是runner跑起来就失败
  • powershell公共变量为空
  • 命令执行失败,却集成成功,pass了

 

1.信息乱码git

信息乱码是真的烦,找了半天,博友有说在yml加上"chcp 65001" 就行,然并卵。搞了许久最后用暴力解决办法解决,设置Unicode UTF-8 提供全球语言支持。若是是服务器的话也能够直接把系统语言改为英语shell

 

设置好以后,再retry。就能够了服务器

 

2.Msbuild编译失败 VS却编译成功ui

直接说缘由:由于选择错了msbuild.exe。若是安装了everything 能够看看系统中有多少msbuild.exe,其中有的是阉割版的,因此编译失败,要选择你当前vs版本匹配的exe。例如选择图中 地址中包含2017那个spa

 

3.设置环境变量无效3d

起初我也是看到yml文档一大串的地址看的比较难受,因而遍想弄环境变量,本地powershell用环境变量命令跑msbuild没问题,可是一旦发布到gitrunner跑就失败,异常:ObjectNotFound: (nuget:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException,意思是说找不到这命令,OJBK,醉了,最后发现本身配置的环境变量配到用户变量去了…….. code

最后 只要把地址配到系统变量就好了blog

 

4.powershell公共变量无效ip

发现我在job1中设置的公共变量在job2中为空。缘由公共变量应该设置到"before_script" 或者"variables" 。Job是独立的文档

 

5.命令执行失败,却集成成功,pass了

看到pipelines中显示

进入job中查看发现却有异常,有些脚本没执行成功

 

 

解决办法:yml中加上 - $ErrorActionPreference = "Stop" 就行,而后retry,就能够是failed的

 

相关文章
相关标签/搜索