Как использовать travis с несколькими ОС + докер в конфигурации Matrix
Я занимаюсь разработкой с открытым исходным кодом и мульти-платформой. Я запускаю тесты на Travis, чтобы тестировать и генерировать сборки на этих разных платформах.
Для использования нескольких ОС у меня есть следующее в моем travis.yml
файл:
matrix:
include:
- os: linux
dist: trusty
sudo: required
language: python
python: 3.6.2
- os: osx
sudo: required
- os: windows
language: python
sudo: required
python: 3.6.2
script:
- if [[ "$TRAVIS_OS_NAME" != "windows" ]]; then python3 myProject; fi
Как добавить докер в эту матрицу?
Документация говорит это:
services:
- docker
Но могу ли я поместить это также в мой файл travis.yml?
И как мне выполнять только определенные команды в экземпляре Docker?
Для разных ОС я использую - if [[ "$TRAVIS_OS_NAME" != "windows" ]]; then python3 myProject; fi
Как я могу использовать это, если функция для докера?
Достаточно документации по Docker и multi-os. Но не для объединения Docker и нескольких ОС. Спасибо!
1 ответ
dist: trusty
а также sudo: required
дать тебе докер. Там нет необходимости добавлять services: [docker]
, https://docs.travis-ci.com/user/docker/ вводит в заблуждение тем, что оба они показаны в одном и том же фрагменте YAML. Это должно быть исправлено.
AFAIK это в настоящее время невозможно с Трэвисом, так как я не смог найти никакого хака для запуска докера на macos на travis.
Дайте мне знать, если найдете.