【问题标题】:Unable to connect error Continuous Integration using TFS使用 TFS 无法连接错误持续集成
【发布时间】:2016-03-05 04:45:43
【问题描述】:

我正在尝试为我的项目创建一个 CI Continuous Integration 我的项目结构如下。

Solution
 |_ WebApi 1
 |_ WebApi 2
 |_ WebApi 3
 |_ Website "Single Page App"

我为每个服务创建了一个 Web 部署,以便在每次我需要发布具有相同名称的应用程序时自动将其部署到服务器。

我创建了一个批处理脚本来运行发布,所以这是半自动的方法。

我想创建一个 CI Continuous Integration 所以我为我的项目创建一个新的构建定义并添加以下配置

以下错误出现在我面前

我在构建定义的配置中缺少什么?

【问题讨论】:

  • 这些只是缺少依赖项。你是否在源代码管理中包含了你的包?您只需要 NuGet repositories.config 或 packages.configs 否则 NuGet 将不会获取这些包,因为它认为它已经拥有它们。或者,您是否在解决方案属性中启用了包还原?
  • 我已在解决方案中启用 Nuget,并通过添加全局环境变量“EnableNuGetPackageRestore”在 tfs 服务器中启用 Nuget,并将其值设置为 true,以将我的包包含到源代码管理中。我不应该将它包含在源代码控制中,因为我希望 nuget 发挥其作用,所以我让 nuget 在部署每个解决方案中包含的 package.config 时更新包
  • 只是为了清楚。您的 packages.config 文件在源代码控制中,但实际的包本身不在。对吗?
  • 是的,以确保 Nuget 每次都努力安装新软件包,所以这就是我认为 CI 中的问题
  • 您是否尝试触发手动构建以查看是否会遇到相同的错误?

标签: visual-studio-2013 tfs continuous-integration webdeploy


【解决方案1】:

根据错误信息,该问题可能是由于 Nuget 包未正确恢复所致。

您可以按照此博客中的步骤恢复软件包:https://docs.nuget.org/consume/package-restore/team-build)。

一些关键步骤是:

  1. 将 nuget.config 和 .tfignore 文件添加到解决方案中。

  2. 在解决方案文件夹的根路径下添加一个 build.proj 文件。

  3. 在解决方案文件夹的根路径下创建一个名为 tools 的文件夹。在 tools 文件夹下创建 NuGet 子文件夹,将 nuget.exe 下载并保存到 tools\NuGet 路径下。

  4. 将 nuget.config、.tfignore、build.proj 和 tools\NuGet\nuget.exe 签入 TFS 版本控制。

  5. 修改构建定义以选择构建 build.proj 文件。
    然后,您将在 TFS 构建过程中成功恢复 NuGet 包。

【讨论】:

  • 感谢您的帮助,但我仍然有一个问题,在 C:\Builds\5\ADSVC\HCMS - Continues Integration\src\build.proj 上运行的构建但文件夹 5 不包含在 Builds 文件夹中我只有一个名为 1 的文件夹当偶然通过是C:\Builds\1\ADSVC\HCMS - Continues Integration\src\build.proj构建成功
  • 数字应该是构建代理,你有多个构建代理吗?您使用的是 TFS 2013 吗?
  • 我没有多个构建代理,只有一个。是的,我正在使用 TFS 2013 并且在构建代理属性中我喜欢以下 $(SystemDrive)\Builds\$(BuildAgentId)\$(BuildDefinitionPath) 我认为这里的问题是 $(BuildAgentId) 是随机的,我应该将其设为静态
  • 构建代理工作目录$(SystemDrive)\Builds\$(BuildAgentId)\$(BuildDefinitionPath) 是正确的,你不应该修改它。您可以尝试清理构建代理计算机上的缓存文件,以查看问题是否仍然存在。 C:\Users\username\AppData\Local\Microsoft\Team Foundation\5.0\Cache and C:\Program Files\Microsoft Team Foundation Server 12.0\Application Tier\Web Services_tfs_data
  • 它也不工作,它只工作一次然后发生同样的错误
猜你喜欢
  • 1970-01-01
  • 2017-03-17
  • 2013-11-29
  • 1970-01-01
  • 2016-01-10
  • 2020-03-18
  • 2014-01-08
  • 2017-06-30
  • 2017-07-22
相关资源
最近更新 更多