Данная лабораторная работа посвещена изучению систем непрерывной интеграции на примере сервиса Travis CI
$ open https://travis-ci.org
- 1. Авторизоваться на сервисе Travis CI с использованием GitHub аккаунта
- 2. Создать публичный репозиторий с названием lab04 на сервисе GitHub
- 3. Ознакомиться со ссылками учебного материала
- 4. Включить интеграцию сервиса Travis CI с созданным репозиторием
- 5. Получить токен для Travis CLI с правами repo и user
- 6. Получить фрагмент вставки значка сервиса Travis CI в формате Markdown
- 7. Выполнить инструкцию учебного материала
- 8. Составить отчет и отправить ссылку личным сообщением в Slack
$ export GITHUB_USERNAME=<имя_пользователя>
$ export GITHUB_TOKEN=<полученный_токен>
$ cd ${GITHUB_USERNAME}/workspace
$ pushd .
$ source scripts/activate
$ \curl -sSL https://get.rvm.io | bash -s -- --ignore-dotfiles
$ echo "source $HOME/.rvm/scripts/rvm" >> scripts/activate
$ . scripts/activate
$ rvm autolibs disable
$ rvm install ruby-2.4.2
$ rvm use 2.4.2 --default
$ gem install travis
$ git clone https://github.com/${GITHUB_USERNAME}/lab03 projects/lab04
$ cd projects/lab04
$ git remote remove origin
$ git remote add origin https://github.com/${GITHUB_USERNAME}/lab04
$ 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 lint
$ travis accounts
$ travis sync
$ travis repos
$ travis enable
$ travis whatsup
$ travis branches
$ travis history
$ travis show
$ popd
$ export LAB_NUMBER=04
$ 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
$ gist REPORT.md
Вы продолжаете проходить стажировку в "Formatter Inc." (см подробности).
В прошлый раз ваше задание заключалось в настройке автоматизированной системы CMake.
Сейчас вам требуется настроить систему непрерывной интеграции для библиотек и приложений, с которыми вы работали в прошлый раз. Настройте сборочные процедуры на различных платформах:
- используйте TravisCI для сборки на операционной системе Linux с использованием компиляторов gcc и clang;
- используйте AppVeyor для сборки на операционной системе Windows.
Copyright (c) 2015-2021 The ISC Authors