Kozack
@Kozack
WordPress guru

Как правильно написать конфиг для travis ci?

Как правильно написать конфиг для следующего поведения:

При любом коммите или PR запускаются тесты npm run tests
Если в ветку мастер пушится что-то с тегом Выполнить тесты, выполнить сборку, выболнить деплой в продакшн командой npm run deploy и выполнить деплой в GitHub Releases

И при этом все описанные выше шаги должны запускаться дважды с одной отличающейся переменной окружения BROWSER

Т.е как я это вижу:
Я делаю коммит в любую ветку — запускается два парралельных теста
BROWSER=chrome npm run tests
BROWSER=firefox npm run tests
Кто-то делает PR в какою-либо ветку — запускается два парралельных теста
BROWSER=chrome npm run tests
BROWSER=firefox npm run tests
Я делаю коммит в мастер с тегом — запускается два парралельных теста
BROWSER=chrome npm run tests
BROWSER=firefox npm run tests
Если оба теста успешно проходят, запускается две команды на деплой
BROWSER=chrome npm run deploy
BROWSER=firefox npm run deploy
И третья команда на создание релиза на GitHub

Я с этим инструментом не знаком вообще. Написал вот такой конфиг
language: node_js

node_js: 
  - "10"

env: 
  - BROWSER=chrome
  - BROWSER=firefox


script: npm run build

deploy:
  skip_cleanup: true
  provider: script
  script: npm run deploy
  on:
    branch: master


Но не понятно:
Как сюда добавить предварительную стадию тестирования?
Как сделать так чтобы deploy запускался только если есть тег?
Как таск будет реагировать на PR в ветку мастер?
Как добавить ещё одну задачу на деплой в GitHub?
  • Вопрос задан
  • 33 просмотра
Решения вопроса 1
@vitaly_il1
DevOps Consulting
Посмотрите на https://docs.travis-ci.com/user/build-stages/.
Насколько понимаю, должно у вас должны быть стадии:
- test (с двумя броузерами)
- build
- deploy (only if branch=master)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы