Travis: уведомления в Slack и работа с бранчами — примеры

Автор: | 06/12/2016
 

travis_logobranches

Пример реализации работы с разными бранчами в Travis.

Пример файла:

$ cat .travis.yml 
branches:
  only:
    - master
script:
  - ./scripts/dns_update.sh -v
  - test $TRAVIS_TEST_RESULT == 0 && ./scripts/dns_update.sh -b
  - test $TRAVIS_TEST_RESULT == 0 && ./scripts/dns_update.sh -i
notifications:
 slack: 
   rooms: 
     - akka:YbsC***6h5u#ok-technology
   on_failure: always
   on_success: always

Тут в branches определяется — за какими бранчами репозитория наблюдать и запускать билд. В данном примере — используется только master.

Переменная $TRAVIS_TEST_RESULT хранит True или False, в зависимости от результата выполнения предыдущей команды. Больше перменных Travisтут>>>.

branches может включать в себя параметры only или except. Соответственно, при использовании only — выполняются билды только бранчей из указанного списка, а при использовании except — все бранчи, кроме перечисленных.

Подробнее — тут>>>.

Ещё один пример — аналогичен предыдущему, но наблюдается только develop:

 cat hubertusrat/.travis.yml 
language: php
install:
  - true
branches:
  only:
    - develop
script:
  - if [ $TRAVIS_BRANCH = "develop" ]; then ./ci/deploy.rb jagerhuberusratdev; fi

Кроме того, действия над бранчами можно определить и с помощью перменной $TRAVIS_BRANCH:

...
  - if [ $TRAVIS_BRANCH = "develop" ]; then
...

notifications

В notifications можно установить уведомления на почту, Slack и т.д.

Пример уведомлений в Slack:

...
notifications:
 slack: 
   rooms: 
     - akka:YbsC***6h5u#ok-technology
   on_failure: always
   on_success: always
...

Для получения токена — переходим в Slack > Apps > Travis CI:

travis_slack_1

Кликаем на Add configuration и выбираем канал:

travis_slack_2

Получаем токен и примеры того, как настроить уведомления:

travis_slack_3

Канал для уведомлений можно изменить в любое время, как в примере выше — указав его после токена:

...
- akka:YbsC***6h5u#ok-technology
...

Подробнее — тут>>>.