@aida_isay
3. Dependencies ✅
New version
Contribution to
Performance & Size
Benchmark first
Slide 42
Slide 42 text
@aida_isay
4. CI Scripts ❌
• Serial Execution of CI Stages
• Staggered Gradle tasks across
different stages
• Timeouts on different plugin
responses
https://devops.com/how-to-use-the-jenkins-pipelines/
Slide 43
Slide 43 text
@aida_isay
4. CI Scripts ✅
• Parallelize CI Stages
• Combine Gradle tasks
• Investigate and reduce
timeouts
https://www.jenkins.io/blog/2017/09/25/declarative-1/
Slide 44
Slide 44 text
@aida_isay
5. CI Container Settings & Config ❌
https://toolsqa.com/jenkins/jenkins-configuration/
Slide 45
Slide 45 text
@aida_isay
5. CI Container Settings & Config ❌
Instance Age
https://toolsqa.com/jenkins/jenkins-configuration/
Slide 46
Slide 46 text
@aida_isay
5. CI Container Settings & Config ❌
Instance Age
Agents Count
https://toolsqa.com/jenkins/jenkins-configuration/
Slide 47
Slide 47 text
@aida_isay
5. CI Container Settings & Config ❌
Instance Age
Agents Count
Agent Instantiation
https://toolsqa.com/jenkins/jenkins-configuration/
Slide 48
Slide 48 text
@aida_isay
5. CI Container Settings & Config ❌
Instance Age
Agents Count
Agent Instantiation
Build Queue Congestion
https://toolsqa.com/jenkins/jenkins-configuration/
Slide 49
Slide 49 text
@aida_isay
5. CI Container Settings & Config ❌
Instance Age
Agents Count
Agent Instantiation
Build Queue Congestion
Build Trigger on
Unnecessary Events
https://toolsqa.com/jenkins/jenkins-configuration/
Slide 50
Slide 50 text
@aida_isay
5. CI Container Settings & Config ✅
Instance Age
Agents Count
Agent Instantiation
Build Queue Congestion
Build Trigger on
Unnecessary Events
Slide 51
Slide 51 text
@aida_isay
5. CI Container Settings & Config ✅
Instance Age
Agents Count
Agent Instantiation
Build Queue Congestion
Build Trigger on
Unnecessary Events
Migrate to newer instance
Slide 52
Slide 52 text
@aida_isay
5. CI Container Settings & Config ✅
Instance Age
Agents Count
Agent Instantiation
Build Queue Congestion
Build Trigger on
Unnecessary Events
Migrate to newer instance
Allocate high number of agents
Slide 53
Slide 53 text
@aida_isay
5. CI Container Settings & Config ✅
Instance Age
Agents Count
Agent Instantiation
Build Queue Congestion
Build Trigger on
Unnecessary Events
Migrate to newer instance
Allocate high number of agents
Keep agents warm
Slide 54
Slide 54 text
@aida_isay
5. CI Container Settings & Config ✅
Instance Age
Agents Count
Agent Instantiation
Build Queue Congestion
Build Trigger on
Unnecessary Events
Migrate to newer instance
Allocate high number of agents
Keep agents warm
Cancel ongoing builds if
new one is pushed
Slide 55
Slide 55 text
@aida_isay
5. CI Container Settings & Config ✅
Instance Age
Agents Count
Agent Instantiation
Build Queue Congestion
Build Trigger on
Unnecessary Events
Migrate to newer instance
Allocate high number of agents
Keep agents warm
Cancel ongoing builds if
new one is pushed
Revisit plugin events and
don’t trigger builds on
PR metadata change
Slide 56
Slide 56 text
@aida_isay
Recap
•enable parallel
•enable cache
•optimize memory config
•manage gradle workers
•upgrade hardware
•optimize container settings
•fine-tune plugin events
•improve CI scripts
Generated by Canva AI
@aida_isay
On the horizon
Modularization…true modularization
Slide 59
Slide 59 text
@aida_isay
Thank you
Slide 60
Slide 60 text
Android Builds: Simple Recipes for
Enhance Developer Productivity
Aida Issayeva
Slide 61
Slide 61 text
@aida_isay
Resources
• Setting Kotlin Daemon’s JVM args
• Java Memory model specification
• Introduction to Java's Memory model
• Essential Tips to minimize Gradle
Build Time
• From laptops to advanced CI
• Managing nodes in Jenkins
Generated by Canva AI