Gitlab CI не может собрать контейнер Windows - PullRequest
0 голосов
/ 26 января 2019

Я пытаюсь собрать контейнер Windows, используя https://gitlab.com,, но я не нашел, поддерживается ли это или нет.

Я провел тест с очень простым Dockerfile:

FROM microsoft/nanoserver:latest
CMD echo "Hello World from Windows"

Использование .gitlab-ci.yml

image: docker
services:
- docker:dind

variables:
  DOCKER_HOST: tcp://docker:2375
  DOCKER_DRIVER: overlay2

before_script:
  - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY

windows:
  stage: build
  script:
  - docker build -t ${CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG}-windows . -f Dockerfile.windows
  - docker push ${CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG}-windows

Сбой из-за:

образ операционной системы "windows" не может быть использован на этой платформе
ОШИБКА: заданиене удалось: код выхода 1

Ищете документацию по gitlab-runner, похоже, поддерживается https://docs.gitlab.com/runner/executors/#selecting-the-executor.

Есть ли способ построить контейнер Windows из онлайн-сервиса?

Ответы [ 2 ]

0 голосов
/ 26 мая 2019

Это должно поддерживаться с GitLab 1.11 (май 219)

Windows Container Executor для GitLab Runner

В GitLab 11.11 мы рады добавитьновый исполнитель в GitLab Runner для использования контейнеров Docker в Windows.

https://about.gitlab.com/images/11_11/windows-container.png

Ранее использование исполнителя оболочки для управления командами Docker было основным подходом для Windows, но с этим обновлением выТеперь можно использовать контейнеры Docker непосредственно в Windows, почти так же, как если бы они были на хостах Linux.
Это открывает двери для более продвинутых типов конвейерной оркестровки и управления для наших пользователей платформ Microsoft.

В это обновление включена улучшенная поддержка PowerShell во всех GitLab CI / CD, а также новые вспомогательные образы для различных версий контейнеров Windows.
Обратите внимание, что с GitLab.com могут использоваться ваши собственные приложения Windows, нов настоящее время недоступны как часть общего общественного парка.

Это из выпуск 535 : см. документацию "Использование контейнеров Windows" .

У него есть ограничения , но это хороший первый шаг.

0 голосов
/ 26 января 2019

Насколько я знаю, все бегуны, предоставляемые GitLab.com, основаны на Linux.Для создания образа Windows Docker вам потребуется предоставить вашему собственному бегуну движок Docker на базе Windows.

...