【发布时间】:2020-01-14 02:47:16
【问题描述】:
总结
嗨,
我最初发布了一个我认为是 GitLab Runner 错误的问题,但遗憾的是在 GitLab-Runner repository 上没有收到任何回复。
我正在使用 Parallels Executor 来测试/构建/部署 Electron+React 应用程序,该应用程序使用预先准备好的 MacOS 和 Windows 10 VM,它们也启用了 SSH 访问(也经过测试)。
在注册跑步者时,我将相关的 SSH 用户和密码详细信息添加到 config.toml。
当新版本通过、管道成功时,MacOS 映像工作正常。但是,Windows 10 阶段只是无休止地挂起并超时:
Screenshot of error in the Runner pipeline
Runner 接收作业,Parallels 甚至创建模板 VM 和链接图像。看起来 GitLab Runner 似乎没有收到对此的确认,并且没有做任何事情,这导致工作在多次重新尝试后超时。
很难知道 Windows 是否缺少一些复杂的东西,或者这是否可能是 Gitlab Runner 本身的错误。
有什么想法吗?
重现步骤
- 创建 Windows 10 Parallels VM 并安装/配置 OpenSSH
- 使用 Parallels 作为执行器注册一个运行器
- 编辑
config.toml并在[runners.ssh]部分下添加SSH用户和密码 - 确保 Windows 10 VM 映像已正确关闭(未挂起)
- 运行构建并观察上述情况发生
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 VM,执行 0。一小时后构建将失败。
预期行为
定义的阶段应该完成!
跑步者输出日志
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) 商业版
可能的修复
不适用
【问题讨论】:
标签: gitlab gitlab-ci gitlab-ci-runner parallels