我正在使用 Gitlab-ci-multi-runner,使用 OSX 机器(bash shell)和 Windows 7 机器(批处理命令)。每当我插入时,我都希望它在两个运行者身上进行构建和测试。但很明显,每个平台的命令都需要略有不同。我不想使用 docker。
我一直在看http://doc.gitlab.com/ci/yaml/README.html但似乎没有关于阶段的特定流道耦合的任何信息。
最佳答案
您可以使用运行者的标签系统。
我想你有两个运行者。 Windows 一个以 windows
作为标签,OS X 一个以 osx
作为标签。
所以,现在你可以在运行前通过reclaim tag来选择runner了。
使用的.gitlab-ci.yml应该是这样的:
MyWindowsJob:
tags:
- windows
script:
- echo Say hello from windows
MyOSXJob:
tags:
- osx
script:
- uname -a
- echo Say hello from osx
如果您将构建在多个版本的操作系统上,您最好在标签中添加版本号。例如:
- OS X v10.9 Mavericks:
osx
和osx_v10.9
- OS X v10.10 Yosemite:
osx
和osx_v10.10
- OS X v10.11 El Capitan:
osx
和osx_v10.11
关于gitlab-ci - 如何创建在不同平台上运行的 2 个作业?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32412248/