Резюме
Привет,
Первоначально я опубликовал вопрос о том, что я считаю ошибкой в 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
Возможные исправления
Не применимо