Teamcity — невыполненные требования: docker.server.osType содержит окна

Я установил Docker Desktop 2.0.0.3 на свой агент сборки Teamcity (сборка 61245) и перезапустил агент/сервер сборки. Я также переключился на запуск контейнеров Windows, но все еще получаю

Неудовлетворенные требования: docker.server.osType содержит окна

Это то, что мне нужно настроить вручную?

Плагин Docker установлен и включен по умолчанию в этой сборке Teamcity.


person Mike    schedule 19.02.2019    source источник
comment
пожалуйста, предоставьте больше информации. 1. о вашей конфигурации, 2. установили ли вы плагин поддержки Docker? 3. Вы включили этот плагин в конфигурации сборки?   -  person Senior Pomidor    schedule 20.02.2019
comment
Плагин Docker установлен и включен по умолчанию в этой версии Teamcity.   -  person Mike    schedule 20.02.2019
comment
и ответы на другие вопросы, пожалуйста   -  person Senior Pomidor    schedule 20.02.2019
comment
Я не уверен, что вы имели в виду под конфигурацией. Вы имеете в виду мой шаг сборки, где я использую Docker? Я пытаюсь запустить установку пряжи в узле: последнее изображение. Указано на шаге «Выполнить» в контейнере Docker: node:latest. Платформа образа Docker настроена на Windows. Вытягивать изображение явно проверено.   -  person Mike    schedule 20.02.2019
comment
Вы можете добавить к своему вопросу DSL вашей конфигурации?   -  person Senior Pomidor    schedule 21.02.2019


Ответы (1)


Это может быть ошибка Teamcity, из-за которой docker.server.osType не устанавливается при запуске контейнеров Windows в Docker Desktop для Windows (Windows Server 2016).

Моя первоначальная установка заключалась в том, что Docker запускал контейнеры Windows на моей машине с сервером/агентом Teamcity под управлением Windows Server 2016. Я ожидал использовать Docker Wrapper и запускать платформу образа Docker, установленную на Windows (я понял, что это не будет работать с образом узла, так как это построен под платформу Linux). Однако для моего docker.server.osType по-прежнему должно быть установлено значение Windows, и я должен был пройти проверку совместимости.

Что я сделал, чтобы обойти это, так это запустить контейнеры Linux на моем компьютере с Windows Server 2016. Ниже приведены шаги, которые я предпринял для решения этой проблемы.

  • В агенте сборки Docker Settings -> Daemon -> Check Experimental Features.
  • На сервере билдера {TeamCityDirectory}\conf\teamcity-startup.properties -> добавьте teamcity.docker.lcow.enabled = true
  • Переключите докер для запуска контейнеров Linux

После этого я перезапустил свои службы Build Agent и Build Server, и docker.server.osType в моем Build Agent появился со значением linux. Затем я установил платформу образов Docker на этапе сборки linux.

person Mike    schedule 21.02.2019
comment
Просто любопытно, что вы подразумеваете под «в агенте сборки». Это в графическом интерфейсе TeamCity или на самом сервере? - person Harald S. Hanssen; 24.11.2020
comment
Агент сборки — это машина/процесс, который обрабатывает процесс сборки в TeamCity. TeamCity имеет серверный процесс, который обслуживает графический интерфейс и управляет агентами сборки. - person Mike; 17.12.2020