Данная лабораторная работа посвещена изучению процесса создания пакета на примере Github Release
$ open https://help.github.com/articles/creating-releases/
- 1. Создать публичный репозиторий с названием lab09 на сервисе GitHub
- 2. Ознакомиться со ссылками учебного материала
- 3. Получить токен для доступа к репозиториям сервиса GitHub
- 4. Сгенерировать GPG ключ и добавить его к аккаунту сервиса GitHub
- 5. Выполнить инструкцию учебного материала
- 6. Составить отчет и отправить ссылку личным сообщением в Slack
Устанавливаем переменные окружения GITHUB_TOKEN
и GITHUB_USERNAME
.
$ export GITHUB_TOKEN=****************************** # Переменная окружения GITHUB_TOKEN
$ export GITHUB_USERNAME=TalkedDevotee # Переменная окружения GITHUB_USERNAME
$ alias gsed=sed # for *-nix system # Настраиваем потоковый текстовый редактор
Скачиваем предыдущую лабораторную работу №8 в папку lab09
.
$ git clone https://github.com/${GITHUB_USERNAME}/lab08 lab09 # Скачиваем гит
$ cd lab09 # Переходим в папку lab09
$ git remote remove origin # Очищаем старый путь загрузки гита
$ git remote add origin https://github.com/${GITHUB_USERNAME}/lab09 # Назначаем новый путь загрузки гита
$ gsed -i 's/lab08/lab09/g' README.md # Заменяем lab08 на lab09
$ cmake -H. -B_build -DCPACK_GENERATOR="TGZ" # Задаем архивирование в tar.gz
$ cmake --build _build --target package # Архивируем
$ travis login --auto # Входим в travis без токена
$ travis enable # Подключаем репозиторий lab09 к travis
$ git tag -s v0.1.0.0 # Подписываем v0.1.0.0
$ git tag -v v0.1.0.0 # Проверяем подписку
$ git push origin master --tags # Пушим изменения под v0.1.0.0
$ github-release --version # Версия github-release
$ github-release info -u ${GITHUB_USERNAME} -r lab09 # Информация о релизе lab09
$ github-release release \ # Пишем информацию о релизе
--user ${GITHUB_USERNAME} \
--repo lab09 \
--tag v0.1.0.0 \
--name "libprint" \
--description "my first release"
Устанавливаем две переменных PACKAGE_OS
и PACKAGE_ARCH
, загружаем релиз на сервер.
$ export PACKAGE_OS=`uname -s` PACKAGE_ARCH=`uname -m` # Переменные окружений PACKAGE_OS и PACKAGE_ARCH
$ export PACKAGE_FILENAME=print-${PACKAGE_OS}-${PACKAGE_ARCH}.tar.gz # Переменная окружения PACKAGE_FILENAME
$ github-release upload \ # Загружаем релиз на GitHub
--user ${GITHUB_USERNAME} \
--repo lab09 \
--tag v0.1.0.0 \
--name "${PACKAGE_FILENAME}" \
--file _build/*.tar.gz
# uname -s - Операционная система
# uname -m - Архитектура ядра
$ github-release info -u ${GITHUB_USERNAME} -r lab09 # Обновленная информация о релизе lab09
$ wget https://github.com/${GITHUB_USERNAME}/lab09/releases/download/v0.1.0.0/${PACKAGE_FILENAME} # Скачиваем файл
$ tar -ztf ${PACKAGE_FILENAME} # Распаковываем файл
$ cd ~/workspace/labs/
$ export LAB_NUMBER=09
$ 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 Братья Вершинины