【问题标题】:Teamcity - Unmet requirements: docker.server.osType contains windowsTeamcity - 未满足的要求:docker.server.osType 包含 windows
【发布时间】:2019-02-19 23:59:19
【问题描述】:

我在我的 Teamcity (build 61245) 构建代理上安装了 Docker Desktop 2.0.0.3 并重新启动了构建代理/服务器,我也切换到运行 Windows 容器,但我仍然得到 ​​p>

未满足的要求:docker.server.osType 包含窗口

这是我需要手动设置的吗?

在此 Teamcity 版本中默认安装并启用 Docker 插件。

【问题讨论】:

  • 请提供更多信息。 1.关于你的配置,2.你安装了Docker Support插件吗? 3. 你在构建配置中启用了这个插件吗?
  • 此版本 Teamcity 中默认安装并启用 Docker 插件。
  • 请回答其他问题
  • 我不确定您所说的配置是什么意思。你的意思是我使用 Docker 的构建步骤吗?我正在尝试在 node:latest image 中运行 yarn install。在 Docker 容器中的运行步骤中指定:节点:最新。 Docker 镜像平台设置为 Windows。明确拉取图像被选中。
  • 你能在你的问题 DSL 中添加你的配置吗?

标签: docker teamcity


【解决方案1】:

这可能是一个 Teamcity 错误,在 Docker Desktop for Windows (Windows Server 2016) 中运行 Windows 容器时未设置 docker.server.osType。

我的原始设置,我让 Docker 在运行 Windows Server 2016 的 Teamcity Server/Agent 机器上运行 Windows 容器。我希望使用 Docker Wrapper 并将 Docker 映像平台设置为 Windows(我意识到这不适用于节点图像,因为它是在 Linux 平台下构建的)。但是,无论如何,我的 docker.server.osType 仍应设置为 windows,并且我应该已通过兼容性检查。

我解决这个问题的方法是在我的 Windows Server 2016 机器上运行 linux 容器。以下是我为解决此问题而采取的步骤。

  • 在构建代理中,Docker Settings -> Daemon -> Check Experimental Features
  • 在构建器服务器 {TeamCityDirectory}\conf\teamcity-startup.properties -> 添加 teamcity.docker.lcow.enabled = true
  • 切换 docker 以运行 linux 容器

之后,我重新启动了我的 Build Agent 和 Build Server 服务,我的 Build Agent 中的 docker.server.osType 弹出了 linux 的值。然后我将构建步骤的 Docker 映像平台设置为 linux

【讨论】:

  • 只是好奇您所说的“在构建代理中”是什么意思。它是在 TeamCity GUI 中还是在服务器本身上?
  • 构建代理是在 TeamCity 中处理构建过程的机器/进程。 TeamCity 有一个服务于 GUI 并协调构建代理的服务器进程。
猜你喜欢
  • 2016-12-06
  • 2018-09-07
  • 2017-11-18
  • 2012-10-30
  • 2018-01-03
  • 2019-04-22
  • 2013-11-29
  • 2018-10-26
  • 1970-01-01
相关资源
最近更新 更多