Skip to content

Instantly share code, notes, and snippets.

@Neisoweli
Last active June 5, 2020 08:43
Show Gist options
  • Save Neisoweli/939167a98c4b8a28172577f0cccbc0bf to your computer and use it in GitHub Desktop.
Save Neisoweli/939167a98c4b8a28172577f0cccbc0bf to your computer and use it in GitHub Desktop.
Lab05.Report

Laboratory work V Build Status

Данная лабораторная работа посвещена изучению систем непрерывной интеграции на примере сервиса Travis CI

$ open https://travis-ci.org

Tasks

  • 1. Авторизоваться на сервисе Travis CI с использованием GitHub аккаунта
  • 2. Создать публичный репозиторий с названием lab05 на сервисе GitHub
  • 3. Ознакомиться со ссылками учебного материала
  • 4. Включить интеграцию сервиса Travis CI с созданным репозиторием
  • 5. Получить токен для Travis CLI с правами repo и user
  • 6. Получить фрагмент вставки значка сервиса Travis CI в формате Markdown
  • 7. Установить Travis CLI
  • 8. Выполнить инструкцию учебного материала
  • 9. Составить отчет и отправить ссылку личным сообщением в Slack

Tutorial

Настраиваем переменные окружения

$ export GITHUB_USERNAME=<имя_пользователя>
$ export GITHUB_TOKEN=<полученный_токен>

Запускаем ранее написанный скрипт

$ cd ${GITHUB_USERNAME}/workspace
$ pushd .
$ source scripts/activate

Устанавливаем command line client Travis CI

$ \curl -sSL https://get.rvm.io | bash -s -- --ignore-dotfiles
$ echo "source $HOME/.rvm/scripts/rvm" >> scripts/activate
$ rvm autolibs disable
$ rvm install ruby-2.4.2  # устанавливаем требуемую версию Ruby
$ rvm use 2.4.2 --default
$ gem install travis

Скачиваем репозиторий Labs и переходим в ветку lab05

$ git clone https://github.com/${GITHUB_USERNAME}/Labs projects/lab05
$ cd projects/lab05
$ git checkout lab05

Создаем конфигурационный файл

$ cat > .travis.yml <<EOF
language: cpp # устанавливает ЯП для проекта
notifications:  
  email: false  # отключение оповещений по email
EOF

Заносим команды в конфигурационный файл для сборки проекта

$ cat >> .travis.yml <<EOF

script:
- git checkout lab05
- cmake -H. -B_build -DCMAKE_INSTALL_PREFIX=_install
- cmake --build _build
- cmake --build _build --target install
EOF

Устанавливаем список пакетов для сборки

$ cat >> .travis.yml <<EOF

addons:
  apt:
    sources:
      - george-edison55-precise-backports
    packages:
      - cmake
      - cmake-data
EOF

Производим авторизацию по токену

$ travis login --github-token ${GITHUB_TOKEN}

Проверяем созданный файл .travis.yml на наличие ошибок

$ travis lint

Вставляем значок состояния сборки в README.md

$ ex -sc '1i|<фрагмент_вставки_значка>' -cx README.md

Отправляем произведенные изменения в репозиторий

$ git add .travis.yml
$ git add README.md
$ git commit -m"added CI"
$ git push origin master

Проверим основные команды для работы с Travis Ci

$ travis lint # проверяем конфигурационный файл на наличие ошибок
$ travis accounts # выводим список аккаунтов и их статуса
$ travis sync # синхронизируем активные репозитории
$ travis repos # выводим список репозиторий
$ travis enable # включаем проект
$ travis whatsup # выводим список самых последних сборок
$ travis branches # выводим последнюю сборку для каждой ветки проекта
$ travis history # выводим историю сборок
$ travis show # выводит статус сборки

Links

Copyright (c) 2017 Братья Вершинины
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment