Данная лабораторная работа посвещена изучению систем непрерывной интеграции на примере сервиса Travis CI
$ open https://travis-ci.org
- 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
Присваиваем значения перменным GITHUB_USERNAME и GITHUB_TOKEN
$ export GITHUB_USERNAME=anasteyshakoshman
$ export GITHUB_TOKEN=f0a9c2d645beebde5dccf5be61c72c65e612dd60
Клонируем lab04 в Lab05, переходим в Lab05
$ git clone https://github.com/${GITHUB_USERNAME}/lab04 Lab05 #Клонируем
$ cd Lab05 #Переходим в Lab05
$ git remote remove origin
$ git remote add origin https://github.com/${GITHUB_USERNAME}/Lab05 #Соединяем с репозиторием на сервере
Создаем .travis.yml и заполняем его
$ cat > .travis.yml <<EOF
language: cpp
EOF
$ cat >> .travis.yml <<EOF
script:
- 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
$ travis login --github-token ${GITHUB_TOKEN}
Включаем отображение предупреждений
$ travis lint
Вставляем значок
$ex -sc '1i|[![Build Status](https://travis-ci.org/anasteyshakoshman/Lab05.svg?branch=master)](https://travis-ci.org/anasteyshakoshman/Lab05)' -cx README.md
Выкладываем всё в репозиторий
$ git add .travis.yml # Добавляем файл для коммита
$ git add README.md # Добавляем файл для коммита
$ git commit -m"added CI" # Коммитим с комментарием "added CI"
$ git push origin master # Выкладываем в репозиторий на сервер
Работаем с travis
$ travis lint #Отображаем предупреждения
$ travis accounts #Отображаем аккаунт
$ travis sync #Синхронизируемся
$ travis repos #Отображаем, какие репозитории доступны, а какие нет
$ travis enable #Подключаем проект
$ travis whatsup #Отоброжаем, что изменилось в проекте
$ travis branches #Отоброжаем обновленную версию проекта
$ travis history #Отоброжаем историю проекта
$ travis show #Отображаем проект
$ cd ~/workspace/labs/
$ export LAB_NUMBER=05
$ git clone https://github.com/tp-labs/Lab${LAB_NUMBER} tasks/lab${LAB_NUMBER}
$ mkdir reports/Lab${LAB_NUMBER}
$ cp tasks/Lab${LAB_NUMBER}/README.md reports/Lab${LAB_NUMBER}/REPORT.md
$ cd reports/Lab${LAB_NUMBER}
$ edit REPORT.md
$ gistup -m "Lab${LAB_NUMBER}"
Copyright (c) 2017 Братья Вершинины