【发布时间】:2018-10-05 20:18:38
【问题描述】:
我在 macOS 机器上安装了 GitLab Runner。我使用 Docker 作为执行器,图像为node:6.11.2-slim。
当我在终端本地运行 uname -a 时,我得到以下响应:
Darwin 1-MacBook-Pro 16.7.0 达尔文内核版本 16.7.0:2017 年 6 月 15 日星期四 17:36:27 PDT;根:xnu-3789.70.16~2/RELEASE_X86_64 x86_64
但是,在运行器上运行相同的命令作为 GitLab 管道的一部分会返回:
Linux runner--project-0-concurrent-0 4.9.87-linuxkit-aufs #1 SMP Wed Mar 14 15:12:16 UTC 2018 x86_64 GNU/Linux
因此,我的构建过程失败了,因为它期望操作系统是 macOS,而不是 Linux。
如何让 GitLab Runner/Docker 的行为不像 Linux?
【问题讨论】:
-
我可能会混淆一些事情,但如果该命令是从 Docker 容器内部运行的,那么它是在 Linux 上运行的,不是吗?您可能必须传递环境变量或构建参数以使其行为不同。 (注意,我从来没有使用过这个设置,我只是使用 Docker 容器的逻辑推断。我可能完全错了。)
-
@mrunion:你是对的。我的印象是 Mac 上的 Docker 运行的是 Mac VM,但它使用的是 Linux。因此,我正在做的事情是不可能的。似乎唯一的选择是使用 GitLab Runner 的“SSH”或“Shell”执行器在 darwin 上编译。
标签: docker gitlab gitlab-ci-runner