2017-09-06 225 views
0

我嘗試使用TeamCity和Octopus Deploy構建.NET Core 2.0上的解決方案的CI/CD過程。我無法正確配置teamcity中的構建步驟,因爲我沒有創建任何包。我現在用的是.NET Core Plugin爲TeamCity的與相應的步驟:使用TeamCity for .NET Core 2.0創建.nupkg

  • 'DOTNET恢復'
  • 'DOTNET構建'
  • 'DOTNET包'
  • 'DOTNET發佈'

我還包括'OctopusDeploy包'步驟,但由於沒有生成包,所以此步驟不起作用。

該項目不包含該項目的任何.json文件(只有一些配置文件),但.csproj文件。我對這個完整的CI/CD過程是新手,但是我已經成功地使用octopack實現了.NET Framework 4.6.1解決方案。

關於如何解決這個問題的任何想法?任何反饋非常感謝。

回答

2

我設法使用octo.exe tool將它打包到* .zip包文件中。

所以我有以下TC打造步驟打造八達通發佈:

  1. DOTNET還原 - .NET核心(DOTNET) - 恢復的NuGet包
  2. 咕嘟咕嘟(可選) - 咕嘟咕嘟 - 運行一飲而盡任務
  3. DOTNET測試(可選) - .NET核心(DOTNET) - 測試項目運行測試
  4. DOTNET建設 - .NET核心(DOTNET) - 生成項目
  5. DOTNET發佈 - .NET核心(DOTNET) - 出版工程指定的輸出目錄
  6. *章魚包 - 命令行 - 執行 'octo.exe' 命令OctopusDeploy - 使用下面的命令octo pack --id %PackId% --version %PackVersion% --basepath %PackDirectoryPath% --format zip --outfolder %ArtifactsDirectoryPath%
  7. 奧克推行工具:推包 - 推壓打包的文件,以八達通內置包庫
  8. 奧克創建發佈 - OctopusDeploy:創建釋放 - 創建於八達通機智發佈h包含的所需軟件包

*顯然,您應該在TC代理服務器上安裝octo.exe工具,並將其添加到PATH變量以便能夠從TC構建中調用它。

+0

octo.exe也可作爲Nuget包使用 - https://www.nuget.org/packages/OctopusTools/ – benPearce

+0

對不起,我完全忘了發表反饋意見...謝謝您的反饋,程序工作得很好!雖然我使用CMD('dotnet build ProjectName.Models \ ProjectName.Models.csproj --framework netcoreapp2.0 --configuration Release' ...)以特定的順序構建項目文件,就像Multi-proc構建.sln往往會「鎖定」文件並破壞[link](https://github.com/dotnet/sdk/issues/739)中提到的構建。另外,我沒有在octo包中指定任何'--format'或'--outfolder'。標記爲答案! –