- В Ya.Cloud создайте новый инстанс (4CPU4RAM) на основе образа
jetbrains/teamcity-server
- Дождитесь запуска teamcity, выполните первоначальную настройку
- Создайте ещё один инстанс(2CPU4RAM) на основе образа
jetbrains/teamcity-agent
. Пропишите к нему переменную окруженияSERVER_URL: "http://<teamcity_url>:8111"
- Авторизуйте агент
- Сделайте fork репозитория
- Создать VM (2CPU4RAM) и запустить playbook
- Создайте новый проект в teamcity на основе fork
- Сделайте autodetect конфигурации
- Сохраните необходимые шаги, запустите первую сборку master'a
- Поменяйте условия сборки: если сборка по ветке
master
, то должен происходитmvn clean deploy
, иначеmvn clean test
- Для deploy будет необходимо загрузить settings.xml в набор конфигураций maven у teamcity, предварительно записав туда креды для подключения к nexus
- В pom.xml необходимо поменять ссылки на репозиторий и nexus
- Запустите сборку по master, убедитесь что всё прошло успешно, артефакт появился в nexus
- Мигрируйте
build configuration
в репозиторий - Создайте отдельную ветку
feature/add_reply
в репозитории - Напишите новый метод для класса Welcomer: метод должен возвращать произвольную реплику, содержащую слово
hunter
- Дополните тест для нового метода на поиск слова
hunter
в новой реплике - Сделайте push всех изменений в новую ветку в репозиторий
- Убедитесь что сборка самостоятельно запустилась, тесты прошли успешно
- Внесите изменения из произвольной ветки
feature/add_reply
вmaster
черезMerge
- Убедитесь, что нет собранного артефакта в сборке по ветке
master
- Настройте конфигурацию так, чтобы она собирала
.jar
в артефакты сборки - Проведите повторную сборку мастера, убедитесь, что сбора прошла успешно и артефакты собраны
- Проверьте, что конфигурация в репозитории содержит все настройки конфигурации из teamcity
- В ответ предоставьте ссылку на репозиторий
Выполненное домашнее задание пришлите ссылкой на .md-файл в вашем репозитории.