2016-08-19 3 views
1

У меня есть репозиторий с несколькими Dockerfiles, которые принимают ~ 20мин каждый строить: https://github.com/fredrikaverpil/pyside2-wheelsКак создать/запустить один файл Dockerfile для каждой работы в Travis-CI?

Я хотел бы, чтобы эффективно разделить эти Dockerfiles, которые будут построены в своих собственных работах.

Прямо сейчас, это мой .travis.yml:

language: python 

sudo: required 
dist: trusty 

python: 
    - 2.7 
    - 3.5 

services: 
    - docker 

install: 
    - docker build -f Dockerfile-Ubuntu16.04-py${TRAVIS_PYTHON_VERSION} -t fredrikaverpil/pyside2-ubuntu16.04-py${TRAVIS_PYTHON_VERSION} . 
    - docker run --rm -v $(pwd):/pyside-setup/dist fredrikaverpil/pyside2-ubuntu16.04-py${TRAVIS_PYTHON_VERSION} 

script: 
    - ls -al *.whl/

Это создает два задания, по одному в версии Python. Тем не менее, я предпочел бы иметь одну работу в файле Dockerfile, так как я собираюсь добавить больше таких файлов.

Как это можно достичь?

ответ

1

Удалось решить, я думаю.

language: python 

sudo: required 
dist: trusty 

services: 
    - docker 

matrix: 
    include: 
    - env: DOCKER_OS=ubuntu16.04 
     python: 2.7 
    - env: DOCKER_OS=ubuntu16.04 
     python: 3.5 
    - env: DOCKER_OS=centos7 
     python: 2.7 

install: 
    - docker build -f Dockerfile-$DOCKER_OS-py${TRAVIS_PYTHON_VERSION} -t fredrikaverpil/pyside2-$DOCKER_OS-py${TRAVIS_PYTHON_VERSION} . 
    - docker run --rm -v $(pwd):/pyside-setup/dist fredrikaverpil/pyside2-$DOCKER_OS-py${TRAVIS_PYTHON_VERSION} 

script: 
    - ls -al *.whl/

В результате получается три задания.

Смежные вопросы