- В Yandex Cloud создайте новый инстанс (4CPU4RAM) на основе образа
jetbrains/teamcity-server. - Дождитесь запуска teamcity, выполните первоначальную настройку.
- Создайте ещё один инстанс (2CPU4RAM) на основе образа
jetbrains/teamcity-agent. Пропишите к нему переменную окруженияSERVER_URL: "http://<teamcity_url>:8111". - Авторизуйте агент.
- Сделайте fork репозитория.
- Создайте VM (2CPU4RAM) и запустите playbook.
- Создайте новый проект в teamcity на основе fork.
2.Сделайте autodetect конфигурации и сохраните необходимые шаги, запустите первую сборку master.
- Сохраните необходимые шаги, запустите первую сборку master.
- Поменяйте условия сборки: если сборка по ветке master, то должен происходит mvn clean deploy, иначе mvn clean test.
Создаем параметр
Добавляем условия для шага
Добавляем второе условие
- Для deploy будет необходимо загрузить settings.xml в набор конфигураций maven у teamcity, предварительно записав туда креды для подключения к nexus.
Добавляем креды для Nexus
Загружаем файл Setting
- В pom.xml необходимо поменять ссылки на репозиторий и nexus.
Замены в pom.xml - https://github.com/Maybe-R/example-teamcity/blob/master/pom.xml
- Запустите сборку по master, убедитесь, что всё прошло успешно и артефакт появился в nexus.
- Мигрируйте build configuration в репозиторий.