gitlab-ci - 如何创建在不同平台上运行的 2 个作业?

标签 gitlab-ci gitlab-ci-runner

我正在使用 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

如果您将构建在多个版本的操作系统上,您最好在标签中添加版本号。例如:

  1. OS X v10.9 Mavericks:osxosx_v10.9
  2. OS X v10.10 Yosemite:osxosx_v10.10
  3. OS X v10.11 El Capitan:osxosx_v10.11

关于gitlab-ci - 如何创建在不同平台上运行的 2 个作业?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32412248/

相关文章:

go - Gitlab CI - Auto DevOps 作业失败,无法为 Go 项目选择构建包?

docker - 如何将环境变量传递给gitlab ci cd中的docker run

git - 如何使用 gitlab-ci.yml 进行简单的 pull ?

kubernetes - GitLab Runner : Failed to register the runner. 您可能遇到网络问题

android - 无法在 GitLab CI 中生成签名的 APK

pip - 在作业之间共享已安装的要求

docker - 自定义服务器中的 gitlab-runner

gitlab - 开发人员如何在不访问 .gitlab-ci.yml 的情况下运行管道

gitlab - 无法为失败的管道启用 Gitlab 通知电子邮件

gitlab - 什么是 gitlab runner