如何为ASP.NET 5项目设置TeamCity构建

时间:2015-05-22 16:43:17

标签: msbuild teamcity asp.net-core dnx

我正在尝试为我正在开发的网站设置CI服务器,但我找不到任何有关如何使用新ASP.NET 5的信息。

5 个答案:

答案 0 :(得分:10)

我得到了你的兄弟。这花了我几天才弄明白。此配置在TeamCity v10上,用于ASP.NET Core 1.0 RC2 / preview2项目。作为奖励,我将其推向Octopus Deploy的步骤。您需要安装dotnet teamcity插件和带Push功能的最新Octopus Deploy插件。以下是构建步骤的概述:

Build Steps Overview

首先,请勿尝试使用dotnet restore来恢复软件包。如果您有未编译为.Net Core的内部nuget包,它将无法工作。这需要永远弄明白。我会忽略尝试使用dotnet restore,直到人们将所有内容转换为.Net Core或Microsoft修复dotnet.exe才能更灵活。

Build Step 1/3

我读过的一些内容说使用最新的NuGet测试版3.5。当我尝试这个时,我会收到以下错误。

[14:30:09] [restore]从D:\ buildAgent \ tools \ NuGet.CommandLine.3.5.0-rc1 \ tools \ NuGet.exe

启动NuGet.exe 3.5.0.1737

[14:30:10] [还原]无法加载类型' NuGet.CommandAttribute'来自汇编' NuGet,Version = 3.5.0.1737,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'。

我不知道这意味着什么,我也不在乎。现在使用3.4.4。在适当的时候填写其余部分。

Build Step 2/3

dotnet publish步骤非常简单。确保提供输出目录,因为您希望在最后一步中使用它。此外,由于this bug,请务必使用%teamcity.build.workingDir%变量指定绝对路径。否则,它将无法找到您的web.config文件,也无法完成整个网站的发布。你会遗漏像web.config和wwwroot这样的东西! Build Step 3/3

最后我们推到八达通。这对我来说非常棘手。注意说的部分 %teamcity.build.workingDir%/published-app/**/* => OrderReviewBoard.1.0.0.zip

如果这部分内容无效,您的步骤将失败而不解释其自身!!! 无效,我的意思是您可能会放置一个teamcity环境变量(如它们显示的%build.number%在所有示例中)该zip名称中没有正确解析。或者您指定一个不存在的路径。或者任何数量的事情,你会看到一个错误,上面写着" [Octopus Deploy]请指定一个推送的包#34;这意味着从未生成一个因为该语句失败。我意识到你想在那里有一个自动递增的内部版本号。我会让你知道如何做到这一点。

不要对这里运行的东西感到困惑。 Octopus tries to explain it on their site,但它隐藏在这里。有octo packocto pushocto pack的新版本已经不见了,基于你在#34;包路径"中所做的任何陈述。框。不要试图创建一个nuspec包,或尝试使用dotnet pack。这些都是我们目的的死胡同。创建一个.zip文件,继续您的生活。最后,请注意我添加的其他命令行参数。这些可以帮到你一点点。他们并不是必需的。祝好运。

答案 1 :(得分:9)

我们(ASP.NET团队)使用TeamCity作为构建服务器。每个repo都有一个build.cmd文件,类似于this one。 TeamCity只是调用该文件。

对于Mac / Linux版本,有一个build.sh文件。

答案 2 :(得分:4)

目前您可以尝试使用TeamCity插件进行.NET Core项目: https://github.com/JetBrains/teamcity-dotnet-plugin

答案 3 :(得分:1)

答案 4 :(得分:1)

由于ASP.NET核心世界发生了很多变化,我被问过几次,我写下了step-by-step guide on how to setup a CI/CD environment using TeamCity for .NET Core。我认为这对初学者特别有用。