SlideShare una empresa de Scribd logo
1 de 63
Descargar para leer sin conexión
THERE IS NO SNAPSHOT 
Hvordan vi senket release fra halv dag til halv time
YOU WILL LEARN 
Compile once 
Gradle
DISCLAIMER 
It’s JVM
BACKGROUND 
• Monolitt 
• 46 modules 
• ca 2100 .scala
• Build 
• Test 
• Integrasjonstest 
• Release 
• Deploy 
• Maven
COMPILE, COMPILE, COMPILE 
Compile + 
test 
Integration-test 
mvn release
COMPILE, COMPILE, COMPILE 
Compile + 
test 
Integration-test 
mvn release 
25-60 mins 50-120 mins 60-120 mins
SUM 
• min 2t 30 mins 
• til tider 5t eller mer 
• samtidige bygg == crash
TENK NYTT
HOW?
COMPILE, COMPILE, COMPILE 
Compile + 
test 
Integration-test 
mvn release
COMPILE, COMPILE, COMPILE 
Compile + 
test Snapshots
COMPILE, COMPILE, COMPILE 
Compile + 
1.10.69 test 
major.minor.buildnumber
OTHERS 
????
DOOR #1
MAVEN
DOOR #2
SBT
DOOR #3
GRADLE
PROS 
• Inkrementell og parallell 
kompilering 
• Zinc 
• Deployscripts i Groovy 
• Unittest buildscripts 
• gradle wrapper 
• Stort community 
• ++
PLUGINS 
Promoted 
Build 
Clone 
Workspace Copy Artifact 
Parameterized 
Trigger Gradle
PLUGINS (NICE) 
Cloudbees 
Folders Build Pipeline 
Git Pull 
Request 
Builder 
Job Config Disk Usage 
History 
Jenkins slaves
PSEUDO EKSEMPEL
Default parameter 
VERSION=0.9
echo version=${VERSION}.${BUILD_NUMBER} >> 
gradle.properties
gradle.properties: 
version=0.9.3
gradle clean test assemble --parallel
archive artifact: 
embedded-jetty-app.jar
archive workspace
Trigger 
Send med JOB_NAME, BUILD_NUMBER, Git commit
Clone workspace
gradle integrationtest -x compileScala (++)
git pull ${init_job_git_commit}
Sjekk for snapshot avhengigheter
Logg inn som PROD-deploy-bruker
Press Play on tape
curl slack.com channel #prod: “ we have liftoff”
Promote to PROD
PROMOTED BUILD
PROMOTED BUILD 
 
Foretrekk 
Build Pipeline
git tag v0.9.3
Keep build forever (look Ma! No Nexus/Artifactory!)
IN REAL LIFE 
Create release version in JIRA 
Update minor version in step one
CLEAN, COMPILE, 
TEST,INTEGRATIONTEST 
• avg = 25 mins 
• spikes på 30+ mins skyldes 
samtidige pull request bygg 
• alle bygg har final 
versjonsnummer 
• who broke the build?
WILL MY PULL REQUEST COMPILE?
Github flow 
The git-flow process is designed largely around the “release”. 
We don’t really have “releases” because we deploy to 
production every day – often several times a day.
COMMIT STATUS API 
https://github.com/blog/1227-commit-status-api
FFS-666 master
WILL YOU 
APPROVE MY 
PULL REQUEST?
DEPLOY 
Feature toggle 
Release branch
WILL YOU SUM IT UP 
• Bygg alt med unikt nummer 
• Kompiler én gang 
• Gradle(sbt) > Maven
ANSWER 
YOUR 
QUESTIONS 
I WILL

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Breaking bad habits with GitLab CI
Breaking bad habits with GitLab CIBreaking bad habits with GitLab CI
Breaking bad habits with GitLab CI
 
Travis CI
Travis CITravis CI
Travis CI
 
JCConf 2015 workshop 動手玩 Java 專案建置工具
JCConf 2015 workshop 動手玩 Java 專案建置工具JCConf 2015 workshop 動手玩 Java 專案建置工具
JCConf 2015 workshop 動手玩 Java 專案建置工具
 
MoldCamp - multidimentional testing workflow. CIBox.
MoldCamp  - multidimentional testing workflow. CIBox.MoldCamp  - multidimentional testing workflow. CIBox.
MoldCamp - multidimentional testing workflow. CIBox.
 
Testing as a container
Testing as a containerTesting as a container
Testing as a container
 
Atlassian Bamboo Feature Overview
Atlassian Bamboo Feature OverviewAtlassian Bamboo Feature Overview
Atlassian Bamboo Feature Overview
 
Unlimited Staging Environments
Unlimited Staging EnvironmentsUnlimited Staging Environments
Unlimited Staging Environments
 
Jenkins presentation
Jenkins presentationJenkins presentation
Jenkins presentation
 
DevOps Camp 2017 NYC Local Development using Vagrant by Anthony Alvarez
DevOps Camp 2017 NYC Local Development using Vagrant by Anthony AlvarezDevOps Camp 2017 NYC Local Development using Vagrant by Anthony Alvarez
DevOps Camp 2017 NYC Local Development using Vagrant by Anthony Alvarez
 
(GAM404) Gaming DevOps: Scopely's Continuous Deployment Pipeline | AWS re:Inv...
(GAM404) Gaming DevOps: Scopely's Continuous Deployment Pipeline | AWS re:Inv...(GAM404) Gaming DevOps: Scopely's Continuous Deployment Pipeline | AWS re:Inv...
(GAM404) Gaming DevOps: Scopely's Continuous Deployment Pipeline | AWS re:Inv...
 
Graphql usage
Graphql usageGraphql usage
Graphql usage
 
Automated android testing using jenkins ci
Automated android testing using jenkins ciAutomated android testing using jenkins ci
Automated android testing using jenkins ci
 
DrupalCon Los Angeles - Continuous Integration Toolbox
DrupalCon Los Angeles - Continuous Integration ToolboxDrupalCon Los Angeles - Continuous Integration Toolbox
DrupalCon Los Angeles - Continuous Integration Toolbox
 
PUG Romagna - Pipeline + Deployer PHP
PUG Romagna - Pipeline + Deployer PHPPUG Romagna - Pipeline + Deployer PHP
PUG Romagna - Pipeline + Deployer PHP
 
JSDC 2015 - TDD 的開發哲學,以 Node.js 為例
JSDC 2015 - TDD 的開發哲學,以 Node.js 為例JSDC 2015 - TDD 的開發哲學,以 Node.js 為例
JSDC 2015 - TDD 的開發哲學,以 Node.js 為例
 
Continuous integration using atlassian bamboo
Continuous integration using atlassian bambooContinuous integration using atlassian bamboo
Continuous integration using atlassian bamboo
 
FOSDEM 2017: GitLab CI
FOSDEM 2017:  GitLab CIFOSDEM 2017:  GitLab CI
FOSDEM 2017: GitLab CI
 
"Workstation Up" - Docker Development at Flow by Mike Roth
"Workstation Up" - Docker Development at Flow by Mike Roth"Workstation Up" - Docker Development at Flow by Mike Roth
"Workstation Up" - Docker Development at Flow by Mike Roth
 
Continuous integration in games development
Continuous integration in games developmentContinuous integration in games development
Continuous integration in games development
 
Introduction to GitHub Actions
Introduction to GitHub ActionsIntroduction to GitHub Actions
Introduction to GitHub Actions
 

Destacado

Visual distraction
Visual distractionVisual distraction
Visual distraction
tmacwhite
 
Prevención del sida en la escuela secundaria
Prevención del sida en la escuela secundariaPrevención del sida en la escuela secundaria
Prevención del sida en la escuela secundaria
lucmcgreb
 
Presentera entreprenöriellt lärande efter kick off2
Presentera entreprenöriellt lärande efter kick off2Presentera entreprenöriellt lärande efter kick off2
Presentera entreprenöriellt lärande efter kick off2
Håkan Elderstig
 
Ansarana e taghoot iqsam wa ehkaam copy
Ansarana e taghoot iqsam wa ehkaam copyAnsarana e taghoot iqsam wa ehkaam copy
Ansarana e taghoot iqsam wa ehkaam copy
shahid shahid
 
Nizam e taghoot_say_baraat copy
Nizam e taghoot_say_baraat copyNizam e taghoot_say_baraat copy
Nizam e taghoot_say_baraat copy
shahid shahid
 
Austraalia meestele
Austraalia meesteleAustraalia meestele
Austraalia meestele
Tuuli Kotov
 
Elevaktiv formativ bedömning ppt
Elevaktiv formativ bedömning pptElevaktiv formativ bedömning ppt
Elevaktiv formativ bedömning ppt
Håkan Elderstig
 
Comunicat presa pakiv - despre sterilizarea femeilor rome
Comunicat presa   pakiv - despre sterilizarea femeilor romeComunicat presa   pakiv - despre sterilizarea femeilor rome
Comunicat presa pakiv - despre sterilizarea femeilor rome
Amare Phrala - Fratii Nostri
 

Destacado (20)

Shanthi celebrity advertising indian visual media.
Shanthi celebrity advertising indian visual media.Shanthi celebrity advertising indian visual media.
Shanthi celebrity advertising indian visual media.
 
Visual distraction
Visual distractionVisual distraction
Visual distraction
 
Mål och visioner förstelärare
Mål och visioner förstelärareMål och visioner förstelärare
Mål och visioner förstelärare
 
Prevención del sida en la escuela secundaria
Prevención del sida en la escuela secundariaPrevención del sida en la escuela secundaria
Prevención del sida en la escuela secundaria
 
Rbd Homes rebranding
Rbd Homes rebrandingRbd Homes rebranding
Rbd Homes rebranding
 
Newsletter Daktari March - April
Newsletter Daktari March - AprilNewsletter Daktari March - April
Newsletter Daktari March - April
 
New Essentials of Disaster Recovery Planning
New Essentials of Disaster Recovery PlanningNew Essentials of Disaster Recovery Planning
New Essentials of Disaster Recovery Planning
 
Presentera entreprenöriellt lärande efter kick off2
Presentera entreprenöriellt lärande efter kick off2Presentera entreprenöriellt lärande efter kick off2
Presentera entreprenöriellt lärande efter kick off2
 
SliMaxDiet
SliMaxDietSliMaxDiet
SliMaxDiet
 
Ansarana e taghoot iqsam wa ehkaam copy
Ansarana e taghoot iqsam wa ehkaam copyAnsarana e taghoot iqsam wa ehkaam copy
Ansarana e taghoot iqsam wa ehkaam copy
 
Quotations from entrepreneurs
Quotations from entrepreneursQuotations from entrepreneurs
Quotations from entrepreneurs
 
Nizam e taghoot_say_baraat copy
Nizam e taghoot_say_baraat copyNizam e taghoot_say_baraat copy
Nizam e taghoot_say_baraat copy
 
Prioritizing Profit Driving Initiatives
Prioritizing Profit Driving InitiativesPrioritizing Profit Driving Initiatives
Prioritizing Profit Driving Initiatives
 
3 in-1 box
3 in-1 box3 in-1 box
3 in-1 box
 
Austraalia meestele
Austraalia meesteleAustraalia meestele
Austraalia meestele
 
Elevaktiv formativ bedömning ppt
Elevaktiv formativ bedömning pptElevaktiv formativ bedömning ppt
Elevaktiv formativ bedömning ppt
 
Comunicat presa pakiv - despre sterilizarea femeilor rome
Comunicat presa   pakiv - despre sterilizarea femeilor romeComunicat presa   pakiv - despre sterilizarea femeilor rome
Comunicat presa pakiv - despre sterilizarea femeilor rome
 
Jan feb 2013
Jan   feb 2013Jan   feb 2013
Jan feb 2013
 
00698
0069800698
00698
 
Final exam 2 (grade 8 esl)
Final exam 2 (grade 8 esl)Final exam 2 (grade 8 esl)
Final exam 2 (grade 8 esl)
 

Similar a There is-no-snapshot

Gr8conf EU 2013 Speed up your development: GroovyServ and Grails Improx Plugin
Gr8conf EU 2013 Speed up your development: GroovyServ and Grails Improx PluginGr8conf EU 2013 Speed up your development: GroovyServ and Grails Improx Plugin
Gr8conf EU 2013 Speed up your development: GroovyServ and Grails Improx Plugin
Yasuharu Nakano
 
OpenShift-Build-Pipelines: Build -> Test -> Run! @JavaForumStuttgart
OpenShift-Build-Pipelines: Build -> Test -> Run! @JavaForumStuttgartOpenShift-Build-Pipelines: Build -> Test -> Run! @JavaForumStuttgart
OpenShift-Build-Pipelines: Build -> Test -> Run! @JavaForumStuttgart
Tobias Schneck
 

Similar a There is-no-snapshot (20)

Gradle - From minutes to seconds: minimizing build times
Gradle - From minutes to seconds: minimizing build timesGradle - From minutes to seconds: minimizing build times
Gradle - From minutes to seconds: minimizing build times
 
ConcourseCi overview
ConcourseCi  overviewConcourseCi  overview
ConcourseCi overview
 
Gr8conf EU 2013 Speed up your development: GroovyServ and Grails Improx Plugin
Gr8conf EU 2013 Speed up your development: GroovyServ and Grails Improx PluginGr8conf EU 2013 Speed up your development: GroovyServ and Grails Improx Plugin
Gr8conf EU 2013 Speed up your development: GroovyServ and Grails Improx Plugin
 
Gitlab ci e kubernetes, build test and deploy your projects like a pro
Gitlab ci e kubernetes, build test and deploy your projects like a proGitlab ci e kubernetes, build test and deploy your projects like a pro
Gitlab ci e kubernetes, build test and deploy your projects like a pro
 
Jenkins Pipelines
Jenkins PipelinesJenkins Pipelines
Jenkins Pipelines
 
Stop Being Lazy and Test Your Software
Stop Being Lazy and Test Your SoftwareStop Being Lazy and Test Your Software
Stop Being Lazy and Test Your Software
 
Real-World DevOps — 20 Practical Developers Tips for Tightening Your Operatio...
Real-World DevOps — 20 Practical Developers Tips for Tightening Your Operatio...Real-World DevOps — 20 Practical Developers Tips for Tightening Your Operatio...
Real-World DevOps — 20 Practical Developers Tips for Tightening Your Operatio...
 
OpenShift-Build-Pipelines: Build -> Test -> Run! @JavaForumStuttgart
OpenShift-Build-Pipelines: Build -> Test -> Run! @JavaForumStuttgartOpenShift-Build-Pipelines: Build -> Test -> Run! @JavaForumStuttgart
OpenShift-Build-Pipelines: Build -> Test -> Run! @JavaForumStuttgart
 
Docker dev, test & production (afas)
Docker  dev, test & production (afas)Docker  dev, test & production (afas)
Docker dev, test & production (afas)
 
Jenkins vs GitLab CI
Jenkins vs GitLab CIJenkins vs GitLab CI
Jenkins vs GitLab CI
 
(Declarative) Jenkins Pipelines
(Declarative) Jenkins Pipelines(Declarative) Jenkins Pipelines
(Declarative) Jenkins Pipelines
 
CICD_1670665418.pdf
CICD_1670665418.pdfCICD_1670665418.pdf
CICD_1670665418.pdf
 
Continous UI testing with Espresso and Jenkins
Continous UI testing with Espresso and JenkinsContinous UI testing with Espresso and Jenkins
Continous UI testing with Espresso and Jenkins
 
Development tools at Base
Development tools at BaseDevelopment tools at Base
Development tools at Base
 
Gitlab ci, cncf.sk
Gitlab ci, cncf.skGitlab ci, cncf.sk
Gitlab ci, cncf.sk
 
Cooking the Cake for Nuget packages
Cooking the Cake for Nuget packagesCooking the Cake for Nuget packages
Cooking the Cake for Nuget packages
 
Continuous Integration/Deployment with Gitlab CI
Continuous Integration/Deployment with Gitlab CIContinuous Integration/Deployment with Gitlab CI
Continuous Integration/Deployment with Gitlab CI
 
Agile Bodensee - Testautomation & Continuous Delivery Workshop
Agile Bodensee - Testautomation & Continuous Delivery WorkshopAgile Bodensee - Testautomation & Continuous Delivery Workshop
Agile Bodensee - Testautomation & Continuous Delivery Workshop
 
Enabling Hybrid Workflows with Docker/Mesos @Orbitz
Enabling Hybrid Workflows with Docker/Mesos @OrbitzEnabling Hybrid Workflows with Docker/Mesos @Orbitz
Enabling Hybrid Workflows with Docker/Mesos @Orbitz
 
[Image Results] Java Build Tools: Part 2 - A Decision Maker's Guide Compariso...
[Image Results] Java Build Tools: Part 2 - A Decision Maker's Guide Compariso...[Image Results] Java Build Tools: Part 2 - A Decision Maker's Guide Compariso...
[Image Results] Java Build Tools: Part 2 - A Decision Maker's Guide Compariso...
 

Último

CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 

Último (20)

call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 

There is-no-snapshot