#continuous-integration #teamcity
Вопрос:
У меня есть настройка TeamCity в docker-compose.yml
version: "3"
services:
server:
image: jetbrains/teamcity-server:2021.1.2
ports:
- "8112:8111"
volumes:
- ./data_dir:/data/teamcity_server/datadir
- ./log_dir:/opt/teamcity/logs
db:
image: mysql
ports:
- "3306:3306"
volumes:
- ./mysql:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=111
- MYSQL_DATABASE=teamcity
teamcity-agent-1:
image: jetbrains/teamcity-agent:2021.1.2-linux-sudo
environment:
- SERVER_URL=http://server:8111
- AGENT_NAME=docker-agent-1
- DOCKER_IN_DOCKER=start
privileged: true
container_name: docker_agent_1
ipc: host
shm_size: 1024M
teamcity-agent-2:
image: jetbrains/teamcity-agent:2021.1.2-linux-sudo
environment:
- SERVER_URL=http://server:8111
- AGENT_NAME=docker-agent-2
- DOCKER_IN_DOCKER=start
privileged: true
container_name: docker_agent_2
ipc: host
shm_size: 1024M
teamcity-agent-3:
image: jetbrains/teamcity-agent:2021.1.2-linux-sudo
environment:
- SERVER_URL=http://server:8111
- AGENT_NAME=docker-agent-3
- DOCKER_IN_DOCKER=start
privileged: true
container_name: docker_agent_3
ipc: host
shm_size: 1024M
и у меня есть тесты E2E, которые я запускаю в агентах teamcity. В результате выполнения тестов они генерируют HTML-отчет, а в случае неудачи тестов также генерируют видеоотчет. Все работает так, как ожидалось, локально без TeamCity. Когда я перемещаю его в TeamCity, я настраиваю, чтобы папка «отчеты» хранилась в артефактах. И на самом деле у меня следующее поведение:
- HTML-отчеты приходят каждый раз, когда обновляются
- видео продолжают расти от сборки к сборке. Я создаю путь различия с отметкой времени для имени папки и для имен видео, чтобы избежать кэширования. Если 1 тест был провален и сгенерировано 1 видео, это видео попадет в артефакты всех следующих сборок, даже если они проходят, и папка с видео должна быть пустой
Мой вопрос точно описан в поддержке jetbrains в 2014 году https://teamcity-support.jetbrains.com/hc/en-us/community/posts/206845765-Build-Agent-Artifacts-Cache-Cleanup
но я попробовал разные настройки оттуда, и, к сожалению, не повезло
Что я пробовал сам и что не помогло:
- попытался очистить систему. папка artifacts_cache. Артефакты все еще растут
- попытался найти конфигурацию для агента
в /data/teamcity_agent/conf/BuildAgent.properties я размещаю 2 новых параметра
teamcity.agent.filecache.publishing.disabled=true
teamcity.agent.filecache.size.limit.bytes=1
после перезапуска агента я вижу эти 2 новые настройки в веб-интерфейсе TeamCity, что означает, что настройки были применены
но поведение все равно остается прежним. Возможно, следует использовать другие настройки, но мне не удалось найти
- что помогает, так это нажать «Очистить источники для этого агента» в настройках агента, но нажимать руками-это не тот способ
Это похоже на проблему с кэшем, потому что, если я назначу другого агента, накопление начнется с самого начала.
любые предложения принимаются
Ответ №1:
Похоже, я нашел ответ
https://www.jetbrains.com/help/teamcity/2021.1/clean-checkout.html#Automatic Очистить Оформить заказ
На странице Создание/Редактирование конфигурации сборки > Параметры управления версиями следует выбрать опцию «Очистить все файлы перед сборкой».