0
votes

I have TeamCity setup in 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

and I have E2E tests which I run in teamcity agents. As a result of tests execution they generate HTML report and in case tests are failed they generate video report as well. Everything working as expected locally without TeamCity. When I move it to TeamCity I setup to keep folder "reports" in artifacts. And I have the following behaviour in fact:

  • HTML reports are coming everytime updated

  • videos keep growing from build to build. I generate diff path with timestamp for folder name and for video names to avoid cache. If 1 test was failed and generated 1 video this video will come to artifacts of all next builds even they are passing and video folder should be empty

My question described exactly in jetbrains support in 2014 https://teamcity-support.jetbrains.com/hc/en-us/community/posts/206845765-Build-Agent-Artifacts-Cache-Cleanup

but I tried diff settings from there and there is no luck unfortunatelly

What I tried myself and what did not help:

  1. tried to clean \system. artifacts_cache folder. Artifacts are still growing

  2. tried to find a config for agent enter image description here

in /data/teamcity_agent/conf/buildAgent.properties I place 2 new settings

teamcity.agent.filecache.publishing.disabled=true
teamcity.agent.filecache.size.limit.bytes=1

after agent restarting I see those 2 new settings in TeamCity webinterface which means that settings were applied enter image description here

but behaviour is still the same. Maybe other settings should be used but I did not manage to find

  1. what helps is pressing "Clean sources on this agent" in agent settings but press by hands it is not the way

It looks like a cache issue cause if I assign another agent accumulation starts from the beginning.

any suggestions are appeciated

1

1 Answers

0
votes

Seems like I found an answer

https://www.jetbrains.com/help/teamcity/2021.1/clean-checkout.html#Automatic+Clean+Checkout

"Clean all files before build" option should be selected on the Create/Edit Build Configuration > Version Control Settings page