Skip to content

Instantly share code, notes, and snippets.

@hackallcode
Created October 9, 2017 19:39
Show Gist options
  • Save hackallcode/473c164f6a6fab9e2752c657ded5e239 to your computer and use it in GitHub Desktop.
Save hackallcode/473c164f6a6fab9e2752c657ded5e239 to your computer and use it in GitHub Desktop.
lab05

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

Всё как обычно

$ export GITHUB_USERNAME=hackallcode
$ export GITHUB_TOKEN=tokentoken1234567890

И тут

$ git clone https://github.com/${GITHUB_USERNAME}/lab04 lab05
$ cd lab05
$ git remote remove origin
$ git remote add origin https://github.com/${GITHUB_USERNAME}/lab05

Записываем язык программы

$ 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 login --github-token ${GITHUB_TOKEN}

Проверяем работу

$ travis lint

Вставляем значок

$ ex -sc '1i|большой_код_значка' -cx README.md

Заливаем

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

Изучаем travis

vladimir@VLADIMIR-KALI:~/workspace/labs/projects/lab05$ travis lint
Warnings for .travis.yml:
[x] value for addons section is empty, dropping
[x] in addons section: unexpected key apt, dropping
# Выводим привязанные аккаунты
vladimir@VLADIMIR-KALI:~/workspace/labs/projects/lab05$ travis accounts 
hackallcode (Vladimir Severov): subscribed, 5 repositories
# Синхронизируем
vladimir@VLADIMIR-KALI:~/workspace/labs/projects/lab05$ travis sync
synchronizing: travis repos. done
# Выводим репозитории и их параметры
vladimir@VLADIMIR-KALI:~/workspace/labs/projects/lab05$ travis repos
freezenook/StudentsAssistant (active: no, admin: no, push: yes, pull: yes)
Description: ???

hackallcode/BMSTU-Projects-1st-Semester (active: no, admin: yes, push: yes, pull: yes)
Description: Репозиорий для программ из МГТУ им. Баумана

hackallcode/BMSTU-Projects-2nd-Semester (active: no, admin: yes, push: yes, pull: yes)
Description: BMSTU projects of 2nd semester

hackallcode/lab03 (active: no, admin: yes, push: yes, pull: yes)
Description: ???

hackallcode/lab04 (active: no, admin: yes, push: yes, pull: yes)
Description: ???

hackallcode/lab05 (active: yes, admin: yes, push: yes, pull: yes)
Description: ???
# Включаем travis
vladimir@VLADIMIR-KALI:~/workspace/labs/projects/lab05$ travis enable
hackallcode/lab05: enabled :)
# Выводим выполненые команд
vladimir@VLADIMIR-KALI:~/workspace/labs/projects/lab05$ travis whatsup
hackallcode/lab05 passed: #1
# Выводим сделанные шаги в ветке master
vladimir@VLADIMIR-KALI:~/workspace/labs/projects/lab05$ travis branches
master:  #1    passed     added CI
# Выводим историю изменений
vladimir@VLADIMIR-KALI:~/workspace/labs/projects/lab05$ travis history
#1 passed:       master added CI
# Выводим полную информацию
vladimir@VLADIMIR-KALI:~/workspace/labs/projects/lab05$ travis show
Job #1.1:  added CI
State:         passed
Type:          push
Branch:        master
Compare URL:   https://github.com/hackallcode/lab05/compare/54b528a22ed2^...82f9691f30c8
Duration:      37 sec
Started:       2017-10-06 23:32:16
Finished:      2017-10-06 23:32:53
Allow Failure: false
Config:        os: linux

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 Братья Вершинины
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment