/Lab05

Primary LanguageCMakeMIT LicenseMIT

Build Status

Laboratory work V

Данная лабораторная работа посвещена изучению систем непрерывной интеграции на примере сервиса 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

Присваиваем значения перменным 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 #Отображаем проект

Report

$ 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}"

Links

Copyright (c) 2017 Братья Вершинины