Как мне создать 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
Если вы будете использовать более одной версии операционной системы, вам лучше добавить номер версии в тег. Например:
- 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