Key principles to speed up the build pipeline
- Focus on the bottleneck- pattern : file operations related
- Divide and conquer
- Fail Fast
- Every time not required to build the jar
- Test on smaller but apt data set
- Robocupy/rsync can help in reducing the copy time as it only differncial copy.
- Use SSD instead of HDD.
- Use in memory DB-SoftPerfect Ram disk can carve disk
- Don't initialize the spring application context, it can be shared application context.
- Do CPU profiling.
- java.until.Calendar is horribly slow. Joda date library.
- Ant has fork mode. Keep forkmode=once
- Create parallel jobs
- Distribute task across multiple slaves.
- Restructure the build pipeline.
- Prioritize the test- use protest frame work.
- Incremental build vs clean build