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的

 

相關文章
相關標籤/搜索