I just configured a build pipeline (using Gradle and scripts) using Devops Services and generally it seems to work pretty well.
However, I can see in the logs that it:
a) re-downloads all dependencies from the maven repository indicating to me that nothing is cached on the build machine from the previous build
b) checks out the whole project from scratch again from my RTC as well
Since I just have a tiny project right now it is not a big deal, but I would think there will be issues scaling for large and medium projects.
What strategies are there to handle this? Are there any plans to somehow allow a temporary disk cache for some of these artifacts and code between builds for example? Without any type of caching I could see build times taking an order of magnitude more time than they should.
Thanks, David
Answer by Don Rota (273) | Aug 22, 2015 at 05:39 AM
Perhaps there might be a way to alter the build xml to do diff or rsync (rather than full copy) which will sync only updated files. Ping your local admin team and check.
@Don Rota -- Hi, I just saw this response. My understanding is generally you get a fresh vm environment for each build in Bluemix Devops Services. Is that not the case? Thanks.
That is the case. Its a completely new container for each job execution.
My SonarQube scan fails with a NullPointerException. What can I do? 2 Answers
Accessing JazzHub build artefacts from other builds? 2 Answers
Access to DevOps project files using gradle/maven/ivy 1 Answer
Unable to send mail from Maven build on JazzHub 1 Answer
Is it possible to persist downloaded files by Maven between builds? 1 Answer