GitLab Runner Parallels Executor & Windows 10 VM - Застрял "Создание новой виртуальной машины ..." - PullRequest
1 голос
/ 14 января 2020

Резюме

Привет,

Первоначально я опубликовал вопрос о том, что я считаю ошибкой в ​​GitLab Runner, но, к сожалению, не получил ответа на репозиторий GitLab-Runner .

Я использую Parallels Executor для тестирования / сборки / развертывания приложения Electron + React с использованием предварительно подготовленной MacOS и виртуальной машины Windows 10, которая также имеет доступ к S SH (также протестировано) ,

При регистрации бегунов я затем добавил соответствующие данные пользователя и пароля S SH в config.toml.

Образ MacOS работает нормально, когда проходит новая сборка, конвейер преуспевает. Однако этапы Windows 10 просто бесконечно зависают и время ожидания истекает:
Снимок экрана ошибки в конвейере Runner

Runner получает задание, а Parallels даже создает шаблон VM и связанное изображение. Похоже, что GitLab Runner не получает подтверждение этого и продолжает ничего не делать, что приводит к истечении времени ожидания задания после нескольких попыток.

Трудно понять, есть ли что-то запутанное, чего мне не хватает с Windows, или это может быть ошибкой в ​​самом Gitlab Runner.

Есть идеи?

Шаги к Воспроизвести

  • Создать Windows 10 виртуальную машину Parallels и установить / настроить OpenS SH
  • Зарегистрировать участника, используя Parallels в качестве исполнителя
  • Редактировать config.toml и добавьте пользователя и пароль S SH в разделе [runners.ssh]
  • Убедитесь, что образ виртуальной машины Windows 10 правильно отключен (не приостановлен)
  • Запустите сборку и просмотрите все вышеперечисленное

файл Gitlab-ci yaml


stages:
  - test

test-win10:
    stage: test
    tags:
    - windows10
    variables:
      NODE_ENV: "development"
      DEBUG_MODE: 'true'
    script:
      - npm install
      - npm run test

Фактическое поведение

Parallels будет запускать виртуальную машину Windows 10 на основе шаблона это создано. Оттуда процесс сборки больше не будет продолжаться, и у вас останется виртуальная машина Windows 10, успешно работающая с 0. Через час сборка завершится неудачей.

Ожидаемое поведение

Определенный этап должен завершиться!

Выходной журнал Runner

1 Running with gitlab-runner 12.6.0 (ac8e767a)
2   on [Ravs iMac]Parallels Windows 10 VM rpMNC3Qo
3
Using Parallels 14.1.0 executor...
4 Creating new VM...
5 ERROR: Preparation failed: PrlctlOutput error: 
6 Will be retried in 3s ...
7 Using Parallels 14.1.0 executor...
8 Creating new VM...
9 ERROR: Preparation failed: PrlctlOutput error: 
10 Will be retried in 3s ...
11 Using Parallels 14.1.0 executor...
12 Creating new VM...
13 ERROR: Job failed: execution took longer than 1h0m0s seconds

Config.toml

concurrent = 1
check_interval = 0

[session_server]
  session_timeout = 1800

[[runners]]
  name = "[Ravs iMac]Parallels MacOS VM"
  url = "https://gitlab.com/"
  token = "**********"
  executor = "parallels"
  [runners.custom_build_dir]
  [runners.ssh]
    user = "ci"
    password = "password"
    host = "macos-ci.shared"
    port = "22"
  [runners.parallels]
    base_name = "macOS_CI"
    disable_snapshots = false
  [runners.cache]
    [runners.cache.s3]
    [runners.cache.gcs]

[[runners]]
  name = "[Ravs iMac]Parallels Windows 10 VM"
  url = "https://gitlab.com"
  token = "**********"
  executor = "parallels"
  [runners.custom_build_dir]
  [runners.ssh]
    user = "ci"
    password = "password"
    host = "10.211.55.5"
    port = "22"
  [runners.parallels]
    base_name = "Windows10_CI"
    disable_snapshots = false
  [runners.cache]
    [runners.cache.s3]
    [runners.cache.gcs]

Используемая версия GitLab Runner

Version:      12.6.0
Git revision: ac8e767a
Git branch:   12-6-stable
GO version:   go1.13.4
Built:        2019-12-22T11:55:34+0000
OS/Arch:      darwin/amd64

Версия Parallels

Версия 14.1.0 (45387) Business Edition

Возможные исправления

Не применимо

...