/lab09

Primary LanguageC++Apache License 2.0Apache-2.0

Build Status

Laboratory work IX

Данная лабораторная работа посвещена изучению процесса создания пакета на примере Github Release

$ open https://help.github.com/articles/creating-releases/

Tasks

  • 1. Создать публичный репозиторий с названием lab09 на сервисе GitHub
  • 2. Ознакомиться со ссылками учебного материала
  • 3. Получить токен для доступа к репозиториям сервиса GitHub
  • 4. Сгенерировать GPG ключ и добавить его к аккаунту сервиса GitHub
  • 5. Выполнить инструкцию учебного материала
  • 6. Составить отчет и отправить ссылку личным сообщением в Slack

Tutorial

$ export GITHUB_TOKEN=<полученный_токен>
$ export GITHUB_USERNAME=<имя_пользователя>
$ alias gsed=sed # for *-nix system
$ cd ${GITHUB_USERNAME}/workspace
$ pushd .
$ source scripts/activate
$ go get github.com/aktau/github-release
$ git clone https://github.com/${GITHUB_USERNAME}/lab08 projects/lab09
$ cd projects/lab09
$ git remote remove origin
$ git remote add origin https://github.com/${GITHUB_USERNAME}/lab09
$ gsed -i 's/lab08/lab09/g' README.md
$ cmake -H. -B_build -DCPACK_GENERATOR="TGZ"
$ cmake --build _build --target package
$ travis login --auto
$ travis enable
$ git tag -s v0.1.0.0
$ git tag -v v0.1.0.0
$ git push origin master --tags
$ github-release --version
$ github-release info -u ${GITHUB_USERNAME} -r lab09
$ github-release release \
    --user ${GITHUB_USERNAME} \
    --repo lab09 \
    --tag v0.1.0.0 \
    --name "libprint" \
    --description "my first release"
$ export PACKAGE_OS=`uname -s` PACKAGE_ARCH=`uname -m` 
$ export PACKAGE_FILENAME=print-${PACKAGE_OS}-${PACKAGE_ARCH}.tar.gz
$ github-release upload \
    --user ${GITHUB_USERNAME} \
    --repo lab09 \
    --tag v0.1.0.0 \
    --name "${PACKAGE_FILENAME}" \
    --file _build/*.tar.gz
$ github-release info -u ${GITHUB_USERNAME} -r lab09
$ wget https://github.com/${GITHUB_USERNAME}/lab09/releases/download/v0.1.0.0/${PACKAGE_FILENAME}
$ tar -ztf ${PACKAGE_FILENAME}

Report

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

Links

  • Create Release - инструкция по созданию релизов проектов
  • Get GitHub Token
  • Signing Commits - инструкция по созданию gpg ключа и подписывания коммитов
  • Go Setup
  • github-release - программа для быстрого создания и удаления релизов ваших проектов на гитхабе
Copyright (c) 2017 Братья Вершинины