jenkins 的安裝, 自動部署的配置就不一一說了。。網上都有一大堆;
因為是在windows上部署,貼一下windows shell 命令就好了; 我也沒搞懂 為什么用.net core來寫 項目還得在windows上跑 部署在iis上 還連sql server數據庫。。。吐槽一波
C:\Windows\System32\inetsrv\appcmd.exe stop site "abc"
taskkill /im dotnet.exe /f
rd /s /q G:\jenkins_publish\xxxxx
cd src\xxxxx
dotnet publish -o G:\jenkins_publish\xxxxx
cd ..\..\test\123.Tests
dotnet test --test-adapter-path:. -l:xunit
C:\Windows\System32\inetsrv\appcmd.exe start site "abc"
備注:因為是在iis上部署,在構建的時候,iis占用了發布文件, 會copy不過去; 所以蛋痛的先把站點abc給停了。。。
遇到了幾個問題;
1. dotnet test -l 生成的是trx文件; 這個問題 jenkins識別不了;
在Stack Overflow上找到解決的方法:
https://stackoverflow.com/questions/49026252/how-can-i-use-xunit-net-core-test-results-in-jenkins
主要是用XunitXml.TestLogger 這個 自定義適配器;
MSTest的 convert沒有實現;不知道是否能解決問題;
2.

Pattern 這個選項其實是給jenkins指定去找測試報告文件的通配符; java的工具 .net出身的還是有點蒙;
