-
Сделайте
forkрепозитория c шаблоном решения к себе в GitHub и переименуйте его по названию или номеру занятия, например, https://github.com/netgitups/netgitups_jen.git -
Выполните клонирование этого репозитория к себе на ПК с помощью команды
git clone. -
Выполните домашнее задание и заполните у себя локально этот файл README.md:
- впишите сверху название занятия, ваши фамилию и имя;
- в каждом задании добавьте решение в требуемом виде — текст, код, скриншоты, ссылка.
- для корректного добавления скриншотов используйте инструкцию «Как вставить скриншот в шаблон с решением»;
- при оформлении используйте возможности языка разметки md. Коротко об этом можно посмотреть в инструкции по MarkDown.
-
После завершения работы над домашним заданием сделайте коммит
git commit -m "comment"и отправьте его на GitHubgit push origin. -
Для проверки домашнего задания в личном кабинете прикрепите и отправьте ссылку на решение в виде md-файла в вашем GitHub.
-
Любые вопросы по выполнению заданий задавайте в чате учебной группы или в разделе «Вопросы по заданию» в личном кабинете.
Желаем успехов в выполнении домашнего задания!
Что нужно сделать:
- Установите себе jenkins по инструкции из лекции или любым другим способом из официальной документации. Использовать Docker в этом задании нежелательно.
- Установите на машину с jenkins golang.
- Используя свой аккаунт на GitHub, сделайте себе форк репозитория. В этом же репозитории находится дополнительный материал для выполнения ДЗ.
- Создайте в jenkins Freestyle Project, подключите получившийся репозиторий к нему и произведите запуск тестов и сборку проекта
go test .иdocker build ..
В качестве ответа пришлите скриншоты с настройками проекта и результатами выполнения сборки.
Что нужно сделать:
- Создайте новый проект pipeline.
- Перепишите сборку из задания 1 на declarative в виде кода.
В качестве ответа пришлите скриншоты с настройками проекта и результатами выполнения сборки.
Что нужно сделать:
- Установите на машину Nexus.
- Создайте raw-hosted репозиторий.
- Измените pipeline так, чтобы вместо Docker-образа собирался бинарный go-файл. Команду можно скопировать из Dockerfile.
- Загрузите файл в репозиторий с помощью jenkins.
В качестве ответа пришлите скриншоты с настройками проекта и результатами выполнения сборки.
Их выполнение необязательное и не влияет на получение зачёта по домашнему заданию. Можете их решить, если хотите лучше разобраться в материале.
Придумайте способ версионировать приложение, чтобы каждый следующий запуск сборки присваивал имени файла новую версию. Таким образом, в репозитории Nexus будет храниться история релизов.
Подсказка: используйте переменную BUILD_NUMBER.
В качестве ответа пришлите скриншоты с настройками проекта и результатами выполнения сборки.
Что нужно сделать:
Разверните GitLab локально, используя Vagrantfile и инструкцию, описанные в этом репозитории. Создайте новый проект и пустой репозиторий в нём. Зарегистрируйте gitlab-runner для этого проекта и запустите его в режиме Docker. Раннер можно регистрировать и запускать на той же виртуальной машине, на которой запущен GitLab. В качестве ответа в репозиторий шаблона с решением добавьте скриншоты с настройками раннера в проекте.
Что нужно сделать:
Запушьте репозиторий на GitLab, изменив origin. Это изучалось на занятии по Git. Создайте .gitlab-ci.yml, описав в нём все необходимые, на ваш взгляд, этапы. В качестве ответа в шаблон с решением добавьте:
файл gitlab-ci.yml для своего проекта или вставьте код в соответствующее поле в шаблоне; скриншоты с успешно собранными сборками.
Дополнительные задания* (со звёздочкой)
Их выполнение необязательное и не влияет на получение зачёта по домашнему заданию. Можете их решить, если хотите лучше разобраться в материале.
Измените CI так, чтобы:
этап сборки запускался сразу, не дожидаясь результатов тестов; тесты запускались только при изменении файлов с расширением *.go. В качестве ответа добавьте в шаблон с решением файл gitlab-ci.yml своего проекта или вставьте код в соответсвующее поле в шаблоне.





