Skip to content

[01_homework][PART_1] Create CI/CD farm for "helloworld" cpp project #1

Description

@chistopat

Написать программу, выводящую на консоль две строки:

build N
Hello, World!

Где вместо N должен выводится текущий номер сборки. Запустить на этапе сборки тесты,
проверяющие валидность номера версии. Выложить исходные тексты в репозиторий на github.
Залогиниться на https://travis-ci.org/ и включить для своего репозитория автоматическую сборку.
Залогиниться на https://bintray.com/ (For an Open Source Account и аккаунт github). Создать новый
репозиторий - имя произвольное, тип Debian, Default Licenses любая. После создания
отредактировать, включив GPG sign. Будет использоваться для публикации всех дальнейших
заданий. Создать в репозитории новый пакет - имя произвольное. Ссылка на контроль версии
может быть указана как - (знак минус, просто чтобы было заполнено). Так же будет использоваться
для публикации последующих работ.
По ссылке https://bintray.com/profile/edit в пункте API Key скопировать ключ. В настройках
репозитория в https://travis-ci.org создать переменную, например, BINTRAY_API_KEY, и в качестве
значения - API Key Это позволит не указывать явно ключ в исходниках.

Самоконтроль

  • отсутствие секретов/ключей/паролей в репозитории github
  • минимально возможное количество фалов, необходимое для сборки
  • репозиторий bintray подписан
  • версия пакета увеличивается от сборки к сборке
  • актуальная версия выводится в приветственном сообщении
  • пакет helloworld содержащий исполняемый файл helloworld опубликован на bintray
    Проверка
    Задание считается выполненным успешно, если после подключения репозитория:
 echo "deb http://dl.bintray.com/porphyrion/otus trusty main" | sudo tee -a /etc/apt/sources.list

установки пакета:
apt update && apt install -y helloworld
запуска бинарного файла:
helloworld
появилось сообщение:

 build N
 Hello, World!

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions