2017-09-06 226 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'。标记为答案! –