Работа с артефактами в TeamCity

После завершения сборки нужно извлечь из нее данные.

В TeamCity это удобно делать с помощью артефактов. В этом уроке подробно рассматривается работа с ними в TeamCity.

Что такое артефакт?

Любой файл, созданный в процессе сборки, — потенциальный артефакт, например пакет приложения в файле .jar или .zip. По окончании сборки на билд-агенте TeamCity забирает эти файлы и загружает на сервер TeamCity. После этого они доступны через интерфейс решения.

Подробнее об артефактах сборки читайте в документации.

Конфигурирование артефактов в TeamCity

Чтобы получить данные, созданные в процесс сборки, перейдите на страницу Edit Configuration.

tutorials-img

На вкладке General Settings есть поле Artifact Paths.

Что такое путь к артефактам?

В TeamCity путь к артефактам указывает на место, где хранятся артефакты после успешного завершения сборки. Артефакты — это выходные файлы, исполняемые файлы и другие важные объекты, сгенерированные во время сборки. Путь к артефактам указывает на директорию или структуру папок на сервере TeamCity, где эти артефакты публикуются и к ним можно получить доступ.

tutorials-img

В данном случае мы знаем, что сборка создает подпапку артефактов, и нужно, чтобы каждый файл в этой директории был доступен. Введите в поле путь к артефактам и нажмите Save.

tutorials-img

Где хранятся артефакты?

В TeamCity есть встроенное хранилище артефактов, но можно подключить и внешнее хранилище: сейчас TeamCity поддерживает Amazon S3, Azure Artifact Storage и Google Cloud Artifact Storage.

Теперь после запуска сборки мы увидим некоторые изменения. Раньше иконка артефактов была серой. Это означало, что в сборке не было артефактов, выявленных пользователем.

Голубая иконка означает, что TeamCity удалось найти и сохранить артефакты для этой сборки. Если навести курсор на голубую иконку, мы увидим два файла артефактов: журнал приложения и видео Selenium.

Можно кликнуть на каждый файл и посмотреть его.

tutorials-img

Зачем нужны артефакты?

Данные с билд-агентов переносятся на сервер TeamCity, а точнее — в указанное хранилище. Хранилище может быть локальным, находиться в облаке или в любом другом удобном вам месте.

Эти данные не только доступны на сервере TeamCity — их можно использовать в цепочке сборок или разных конфигурациях сборки. Например, если заданию развертывания нужен файл .jar, созданный предыдущим заданием сборки, этот файл можно передать в виде артефакта.

Как копировать артефакты?

В TeamCity скопировать артефакты из одной сборки в другую можно с помощью функции Artifact Dependency. Для этого нужно настроить пути к артефактам в исходной сборке, потом настроить зависимости артефактов в целевой сборке, запустить сборки и убедиться, что артефакты скопировались. Настраивая зависимости артефактов, вы создаете связь между сборками в TeamCity для беспрепятственного переноса артефактов из одной сборки в другую.

О том, как настраивать артефакты, читайте в документации. Если у вас остались вопросы, свяжитесь с нами.