Как мне создать 2 задания, которые работают на разных платформах?

Я использую Gitlab-ci-multi-runner, использую машину OSX (оболочка bash) и машину Windows 7 (пакетные команды). Всякий раз, когда я нажимаю, я хочу, чтобы он собирался и тестировался на обоих участниках. Но очевидно, что команды должны быть немного разными для каждой платформы. Я не хочу использовать докер.

Я смотрел на http://doc.gitlab.com/ci/yaml/README.html но, похоже, ничего особенного в связи с бегуном для этапа.

1 ответ

Решение

Вы можете использовать систему тегов для бегуна.

Я полагаю, что у вас есть два бегуна. Винда одна с windows как тег и OS X один с osx как тег

Итак, теперь вы можете выбрать бегуна по тегу reclaim перед запуском.

Используемый.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: osx а также osx_v10.9
  2. OS X v10.10 Yosemite: osx а также osx_v10.10
  3. OS X v10.11 El Capitan: osx а также osx_v10.11
Другие вопросы по тегам