4 ms·
Use a persistent runner and you can take advantage of on disk caches...at the cost of repeatability you get from a clean image on each run.
by sagarm 3y ago
Use a persistent runner and you can take advantage of on disk caches...at the cost of repeatability you get from a clean image on each run.
- nsonha 3y agorepeatability must mean different things to us, a cache hit is repeatability to me, a network call can easily fail for so many reasons
- paranoidrobot 3y agoIt sure can fail but running on a clean agent each time reduces the "Well, it works on my machine" scenarios you can run into. For example: The last run didn't clean up, or changed something global. New runs don't work because some expected state is missing that had been set up on a previous run. Blowing the agent away each time reduces the chance that something previously run can impact your current run. This is at the cost of pulling from networks each time. You can reduce those issues by adding network caches for modules/dependencies.
- sagarm 3y agoI use persistent runners, but we had to add additional steps (docker prune, mvn -U, docker image ls, etc) to keep the runner healthy and be better able to debug issues.