SlideShare a Scribd company logo
1 of 23
ROMA | LONDON| MILANO | PARIS | MADRID | REUS | BERLIN | BEOGRAD | ISTANBUL | SAN FRANCISCO | CIUDAD DE MÉXICO | SÃO PAULO | BOGOTÁ | MUMBAI
Un sistema di Continuous Integration fra progetti eterogenei
CloudParty 2014 - Deploy in Cloud - Milan 21 May
Simone Pasquini - @PasquiniSimone
2
Big Bang Integration
● Integration is done close to a release
● Problems/Incompatibilities between the codes become evident at release
time
3
Continuous Integration
M.Fowler: Continuous Integration is a software development practice where
members of a team integrate their work frequently, usually each person
integrates at least daily - leading to multiple integrations per day. Each
integration is verified by an automated build (including test) to detect
integration errors as quickly as possible.
● Integrate frequently
● Automated build
● Detect integration errors quickly
4
Continuous Integration
Maintain a Single Source Repository
● In general you should store in source control everything you need to build
anything, but nothing that you actually build (artefact).
● One project one repo
5
Continuous Integration
Automate the Build
● Anyone should be able to bring in a virgin machine, check the sources
out of the repository, issue a single command, and have a running
system on their machine
6
Continuous Integration
Make Your Build Self-Testing
● A suite of automated tests that can check a large part of the code base
for bugs. The tests need to be able to be kicked off from a simple
command and to be self-checking.
7
Continuous Integration
Everyone Commits To the Mainline Every Day
● Prerequisite for a developer committing to the mainline is that they can
correctly build their code.
● Frequent commits encourage developers to break down their work into
small chunks of a few hours each.
8
Continuous Integration
Every Commit Should Build the Mainline on an Integration Machine
● Every time a commit against the repository finishes the server
automatically checks out the sources onto the integration machine,
initiates a build, and notifies the committer of the result of the build
9
Continuous Integration
Keep the Build Fast
● The whole point of Continuous Integration is to provide rapid feedback.
● Made a stage of pipeline with a sequential suite of
unit,integration,acceptance test
10
Continuous Integration
Test in a Clone of the Production Environment
● As a result you want to set up your test environment to be as exact a
mimic of your production environment as possible
11
Continuous Integration
Everyone can see what's happening
● One of the most important things to communicate is the state of the
mainline build
12
Continuous Integration
Automate Deployment
● It's important to have scripts that will allow you to deploy the application
into any environment easily.
13
Continuous Integration
key points
● Build on each computer
● All test suite green before push
● Integration test between project every push
● High priority for CI red build
14
Continuous Integration
Build on each computer
15
Continuous Integration
High priority for red build
16
Continuous Integration
● Reduced risk during integration
● It does make them dramatically easier to find and remove bug
● Mindset
● Methodology and not a tool
17
Continuous Integration
Onebip Scenario: Tools
● Version Control
● Build automation
● Continuous
Integration
18
Continuous Integration
Build automation: Phing
<build>
<dist/>
<pre-remote-deploy/>
<remote-deploy/>
<post-remote-deploy-test/>
<post-remote-deploy/>
</build>
19
Continuous Integration
Pipeline
20
Continuous Integration
Pipeline
● 4 environments: CI, IT, UAT, PROD
o CI: unit,acceptance and integration test in isolation
o IT: db/app migration rollback, BDD between project, Cross browser
test
o UAT: Manual customer approval test
o PROD: Smoke test and KPI validation/monitoring test
● 9 pipeline for each heterogeneous projects
● Dependencies between environment and projects
21
Continuous Integration
Improvement
● Rake build language
● All environment for Pipeline not 24h
● Continuous Delivery
22
Continuous Integration
Thanks for listening
Links
http://martinfowler.com/articles/continuousIntegration.html
http://www.thoughtworks.com/continuous-delivery
ROMA | LONDON| MILANO | PARIS | MADRID | REUS | BERLIN | BEOGRAD | ISTANBUL | SAN FRANCISCO
CIUDAD DE MÉXICO | SÃO PAULO | BOGOTÁ | MUMBAI
Neomobile - Corporate Headquarters
Viale Pasteur 78, 00144 Roma – Italy | Tel. +39 0698262553
info@neomobile.com

More Related Content

What's hot

Usg Web Tech Day 2016 - Continuous Integration, Deployment, and Delivery
Usg Web Tech Day 2016 - Continuous Integration, Deployment, and DeliveryUsg Web Tech Day 2016 - Continuous Integration, Deployment, and Delivery
Usg Web Tech Day 2016 - Continuous Integration, Deployment, and DeliveryStephen Garrett
 
Continuous integrations - Basics
Continuous integrations - BasicsContinuous integrations - Basics
Continuous integrations - BasicsBarış İNANÇ
 
Adrian marinica continuous integration in the visual studio world
Adrian marinica   continuous integration in the visual studio worldAdrian marinica   continuous integration in the visual studio world
Adrian marinica continuous integration in the visual studio worldCodecamp Romania
 
Continuous Integration - What even is it?
Continuous Integration - What even is it?Continuous Integration - What even is it?
Continuous Integration - What even is it?Rob Jacoby
 
Implementing a Continuous Delivery pipeline using OW2 infrastructure, OW2con'...
Implementing a Continuous Delivery pipeline using OW2 infrastructure, OW2con'...Implementing a Continuous Delivery pipeline using OW2 infrastructure, OW2con'...
Implementing a Continuous Delivery pipeline using OW2 infrastructure, OW2con'...OW2
 
Implementing Continuous Integration in .NET for Cheapskates
Implementing Continuous Integration in .NET for CheapskatesImplementing Continuous Integration in .NET for Cheapskates
Implementing Continuous Integration in .NET for Cheapskatesmhenroid
 
Developing with versioning and CI/CD
Developing with versioning and CI/CDDeveloping with versioning and CI/CD
Developing with versioning and CI/CDMatteo Di Carlo
 
Continuous integration
Continuous integrationContinuous integration
Continuous integrationamscanne
 
Continuous Integration and PHP
Continuous Integration and PHPContinuous Integration and PHP
Continuous Integration and PHPArno Schneider
 
Continuous integration with docker, buildbot and git
Continuous integration with docker, buildbot and gitContinuous integration with docker, buildbot and git
Continuous integration with docker, buildbot and gitAdieu
 
Lightweight continuous delivery for small schools
Lightweight continuous delivery for small schoolsLightweight continuous delivery for small schools
Lightweight continuous delivery for small schoolsCharles Fulton
 
The Cloud: Releasing Software into Controlled Chaos
The Cloud: Releasing Software into Controlled ChaosThe Cloud: Releasing Software into Controlled Chaos
The Cloud: Releasing Software into Controlled ChaosKate Gentry
 
Continuous Integration using Buildbot
Continuous Integration using Buildbot Continuous Integration using Buildbot
Continuous Integration using Buildbot Akshay Sundaran
 
Building the Test Automation Framework - Jenkins for Testers
Building the Test Automation Framework - Jenkins for TestersBuilding the Test Automation Framework - Jenkins for Testers
Building the Test Automation Framework - Jenkins for TestersWilliam Echlin
 
[E-Dev-Day 2015][3/4] QA Status Report (Stefan Schmidt)
[E-Dev-Day 2015][3/4] QA Status Report (Stefan Schmidt)[E-Dev-Day 2015][3/4] QA Status Report (Stefan Schmidt)
[E-Dev-Day 2015][3/4] QA Status Report (Stefan Schmidt)EnlightenmentProject
 
Continuous deployment steve povilaitis
Continuous deployment   steve povilaitisContinuous deployment   steve povilaitis
Continuous deployment steve povilaitisSteve Povilaitis
 
DevQAOps - Surviving in a DevOps World
DevQAOps - Surviving in a DevOps WorldDevQAOps - Surviving in a DevOps World
DevQAOps - Surviving in a DevOps WorldWinston Laoh
 
Introduce to Git and Jenkins
Introduce to Git and JenkinsIntroduce to Git and Jenkins
Introduce to Git and JenkinsAn Nguyen
 

What's hot (20)

Usg Web Tech Day 2016 - Continuous Integration, Deployment, and Delivery
Usg Web Tech Day 2016 - Continuous Integration, Deployment, and DeliveryUsg Web Tech Day 2016 - Continuous Integration, Deployment, and Delivery
Usg Web Tech Day 2016 - Continuous Integration, Deployment, and Delivery
 
Continuous integrations - Basics
Continuous integrations - BasicsContinuous integrations - Basics
Continuous integrations - Basics
 
Adrian marinica continuous integration in the visual studio world
Adrian marinica   continuous integration in the visual studio worldAdrian marinica   continuous integration in the visual studio world
Adrian marinica continuous integration in the visual studio world
 
Continuous Integration - What even is it?
Continuous Integration - What even is it?Continuous Integration - What even is it?
Continuous Integration - What even is it?
 
Transition from CI to CD
Transition from CI to CDTransition from CI to CD
Transition from CI to CD
 
Continuous integration
Continuous integration Continuous integration
Continuous integration
 
Implementing a Continuous Delivery pipeline using OW2 infrastructure, OW2con'...
Implementing a Continuous Delivery pipeline using OW2 infrastructure, OW2con'...Implementing a Continuous Delivery pipeline using OW2 infrastructure, OW2con'...
Implementing a Continuous Delivery pipeline using OW2 infrastructure, OW2con'...
 
Implementing Continuous Integration in .NET for Cheapskates
Implementing Continuous Integration in .NET for CheapskatesImplementing Continuous Integration in .NET for Cheapskates
Implementing Continuous Integration in .NET for Cheapskates
 
Developing with versioning and CI/CD
Developing with versioning and CI/CDDeveloping with versioning and CI/CD
Developing with versioning and CI/CD
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
Continuous Integration and PHP
Continuous Integration and PHPContinuous Integration and PHP
Continuous Integration and PHP
 
Continuous integration with docker, buildbot and git
Continuous integration with docker, buildbot and gitContinuous integration with docker, buildbot and git
Continuous integration with docker, buildbot and git
 
Lightweight continuous delivery for small schools
Lightweight continuous delivery for small schoolsLightweight continuous delivery for small schools
Lightweight continuous delivery for small schools
 
The Cloud: Releasing Software into Controlled Chaos
The Cloud: Releasing Software into Controlled ChaosThe Cloud: Releasing Software into Controlled Chaos
The Cloud: Releasing Software into Controlled Chaos
 
Continuous Integration using Buildbot
Continuous Integration using Buildbot Continuous Integration using Buildbot
Continuous Integration using Buildbot
 
Building the Test Automation Framework - Jenkins for Testers
Building the Test Automation Framework - Jenkins for TestersBuilding the Test Automation Framework - Jenkins for Testers
Building the Test Automation Framework - Jenkins for Testers
 
[E-Dev-Day 2015][3/4] QA Status Report (Stefan Schmidt)
[E-Dev-Day 2015][3/4] QA Status Report (Stefan Schmidt)[E-Dev-Day 2015][3/4] QA Status Report (Stefan Schmidt)
[E-Dev-Day 2015][3/4] QA Status Report (Stefan Schmidt)
 
Continuous deployment steve povilaitis
Continuous deployment   steve povilaitisContinuous deployment   steve povilaitis
Continuous deployment steve povilaitis
 
DevQAOps - Surviving in a DevOps World
DevQAOps - Surviving in a DevOps WorldDevQAOps - Surviving in a DevOps World
DevQAOps - Surviving in a DevOps World
 
Introduce to Git and Jenkins
Introduce to Git and JenkinsIntroduce to Git and Jenkins
Introduce to Git and Jenkins
 

Viewers also liked

Start Up and Git Done: Using Visual Studio Online
Start Up and Git Done: Using Visual Studio OnlineStart Up and Git Done: Using Visual Studio Online
Start Up and Git Done: Using Visual Studio Onlinemcknz
 
10 Insightful Quotes On Designing A Better Customer Experience
10 Insightful Quotes On Designing A Better Customer Experience10 Insightful Quotes On Designing A Better Customer Experience
10 Insightful Quotes On Designing A Better Customer ExperienceYuan Wang
 
Learn BEM: CSS Naming Convention
Learn BEM: CSS Naming ConventionLearn BEM: CSS Naming Convention
Learn BEM: CSS Naming ConventionIn a Rocket
 
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika AldabaLightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldabaux singapore
 
How to Build a Dynamic Social Media Plan
How to Build a Dynamic Social Media PlanHow to Build a Dynamic Social Media Plan
How to Build a Dynamic Social Media PlanPost Planner
 
SEO: Getting Personal
SEO: Getting PersonalSEO: Getting Personal
SEO: Getting PersonalKirsty Hulse
 

Viewers also liked (6)

Start Up and Git Done: Using Visual Studio Online
Start Up and Git Done: Using Visual Studio OnlineStart Up and Git Done: Using Visual Studio Online
Start Up and Git Done: Using Visual Studio Online
 
10 Insightful Quotes On Designing A Better Customer Experience
10 Insightful Quotes On Designing A Better Customer Experience10 Insightful Quotes On Designing A Better Customer Experience
10 Insightful Quotes On Designing A Better Customer Experience
 
Learn BEM: CSS Naming Convention
Learn BEM: CSS Naming ConventionLearn BEM: CSS Naming Convention
Learn BEM: CSS Naming Convention
 
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika AldabaLightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
 
How to Build a Dynamic Social Media Plan
How to Build a Dynamic Social Media PlanHow to Build a Dynamic Social Media Plan
How to Build a Dynamic Social Media Plan
 
SEO: Getting Personal
SEO: Getting PersonalSEO: Getting Personal
SEO: Getting Personal
 

Similar to Continuous integration CloudParty 21 may 2014 - Milan

Flight East 2018 Presentation–Continuous Integration––An Overview
Flight East 2018 Presentation–Continuous Integration––An OverviewFlight East 2018 Presentation–Continuous Integration––An Overview
Flight East 2018 Presentation–Continuous Integration––An OverviewSynopsys Software Integrity Group
 
Introduction to Continuous Integration
Introduction to Continuous IntegrationIntroduction to Continuous Integration
Introduction to Continuous IntegrationHùng Nguyễn Huy
 
Agile A to Z Chapter 4 Feedback Loop Part 2 DevOps
Agile A to Z Chapter 4 Feedback Loop Part 2 DevOpsAgile A to Z Chapter 4 Feedback Loop Part 2 DevOps
Agile A to Z Chapter 4 Feedback Loop Part 2 DevOpsAgile ME
 
Continuous delivery for Android
Continuous delivery for AndroidContinuous delivery for Android
Continuous delivery for AndroidLeena N
 
iOS CI/CD: Continuous Integration and Continuous Delivery Explained
iOS CI/CD: Continuous Integration and Continuous Delivery ExplainediOS CI/CD: Continuous Integration and Continuous Delivery Explained
iOS CI/CD: Continuous Integration and Continuous Delivery ExplainedSemaphore
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integrationdrluckyspin
 
Continuous integration using jenkins
Continuous integration using jenkinsContinuous integration using jenkins
Continuous integration using jenkinsVinay H G
 
Agile a to z chapter 4 feedback loop
Agile a to z chapter 4 feedback loopAgile a to z chapter 4 feedback loop
Agile a to z chapter 4 feedback loopWajih Aslam
 
Android Apps Testing in 2019
Android Apps Testing in 2019Android Apps Testing in 2019
Android Apps Testing in 2019Ivan Katunou
 
Continuously Break The Android
Continuously Break The AndroidContinuously Break The Android
Continuously Break The AndroidHasan Hosgel
 
CI and CD with Jenkins
CI and CD with JenkinsCI and CD with Jenkins
CI and CD with JenkinsMartin Málek
 
Lets talk about CI CD Pipeline in Agile
Lets talk about CI CD Pipeline in Agile Lets talk about CI CD Pipeline in Agile
Lets talk about CI CD Pipeline in Agile Poonam Panday
 
Introduction to CI/CD
Introduction to CI/CDIntroduction to CI/CD
Introduction to CI/CDHoang Le
 
[ENGLISH] TDC 2015 - PHP Trail - Tests and PHP Continuous Integration Enviro...
[ENGLISH] TDC 2015 - PHP  Trail - Tests and PHP Continuous Integration Enviro...[ENGLISH] TDC 2015 - PHP  Trail - Tests and PHP Continuous Integration Enviro...
[ENGLISH] TDC 2015 - PHP Trail - Tests and PHP Continuous Integration Enviro...Bruno Tanoue
 
Continuous integration
Continuous integrationContinuous integration
Continuous integrationBasma Alkerm
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous IntegrationJoseph Wang
 
Module 2 IUT Bobigny : Automatisation de la chaîne de production logicielle
Module 2 IUT Bobigny : Automatisation de la chaîne de production logicielleModule 2 IUT Bobigny : Automatisation de la chaîne de production logicielle
Module 2 IUT Bobigny : Automatisation de la chaîne de production logicielleFrédéric Rivain
 
Testing & continuous delivery
Testing & continuous deliveryTesting & continuous delivery
Testing & continuous deliveryNelson Melina
 

Similar to Continuous integration CloudParty 21 may 2014 - Milan (20)

Continuous integration (eng)
Continuous integration (eng)Continuous integration (eng)
Continuous integration (eng)
 
Flight East 2018 Presentation–Continuous Integration––An Overview
Flight East 2018 Presentation–Continuous Integration––An OverviewFlight East 2018 Presentation–Continuous Integration––An Overview
Flight East 2018 Presentation–Continuous Integration––An Overview
 
Introduction to Continuous Integration
Introduction to Continuous IntegrationIntroduction to Continuous Integration
Introduction to Continuous Integration
 
Agile A to Z Chapter 4 Feedback Loop Part 2 DevOps
Agile A to Z Chapter 4 Feedback Loop Part 2 DevOpsAgile A to Z Chapter 4 Feedback Loop Part 2 DevOps
Agile A to Z Chapter 4 Feedback Loop Part 2 DevOps
 
Continuous delivery for Android
Continuous delivery for AndroidContinuous delivery for Android
Continuous delivery for Android
 
iOS CI/CD: Continuous Integration and Continuous Delivery Explained
iOS CI/CD: Continuous Integration and Continuous Delivery ExplainediOS CI/CD: Continuous Integration and Continuous Delivery Explained
iOS CI/CD: Continuous Integration and Continuous Delivery Explained
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Continuous integration using jenkins
Continuous integration using jenkinsContinuous integration using jenkins
Continuous integration using jenkins
 
Agile a to z chapter 4 feedback loop
Agile a to z chapter 4 feedback loopAgile a to z chapter 4 feedback loop
Agile a to z chapter 4 feedback loop
 
Android Apps Testing in 2019
Android Apps Testing in 2019Android Apps Testing in 2019
Android Apps Testing in 2019
 
Continuously Break The Android
Continuously Break The AndroidContinuously Break The Android
Continuously Break The Android
 
CI and CD with Jenkins
CI and CD with JenkinsCI and CD with Jenkins
CI and CD with Jenkins
 
Lets talk about CI CD Pipeline in Agile
Lets talk about CI CD Pipeline in Agile Lets talk about CI CD Pipeline in Agile
Lets talk about CI CD Pipeline in Agile
 
Continuous integration with Jenkins
Continuous integration with JenkinsContinuous integration with Jenkins
Continuous integration with Jenkins
 
Introduction to CI/CD
Introduction to CI/CDIntroduction to CI/CD
Introduction to CI/CD
 
[ENGLISH] TDC 2015 - PHP Trail - Tests and PHP Continuous Integration Enviro...
[ENGLISH] TDC 2015 - PHP  Trail - Tests and PHP Continuous Integration Enviro...[ENGLISH] TDC 2015 - PHP  Trail - Tests and PHP Continuous Integration Enviro...
[ENGLISH] TDC 2015 - PHP Trail - Tests and PHP Continuous Integration Enviro...
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Module 2 IUT Bobigny : Automatisation de la chaîne de production logicielle
Module 2 IUT Bobigny : Automatisation de la chaîne de production logicielleModule 2 IUT Bobigny : Automatisation de la chaîne de production logicielle
Module 2 IUT Bobigny : Automatisation de la chaîne de production logicielle
 
Testing & continuous delivery
Testing & continuous deliveryTesting & continuous delivery
Testing & continuous delivery
 

Recently uploaded

How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 

Recently uploaded (20)

How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 

Continuous integration CloudParty 21 may 2014 - Milan

  • 1. ROMA | LONDON| MILANO | PARIS | MADRID | REUS | BERLIN | BEOGRAD | ISTANBUL | SAN FRANCISCO | CIUDAD DE MÉXICO | SÃO PAULO | BOGOTÁ | MUMBAI Un sistema di Continuous Integration fra progetti eterogenei CloudParty 2014 - Deploy in Cloud - Milan 21 May Simone Pasquini - @PasquiniSimone
  • 2. 2 Big Bang Integration ● Integration is done close to a release ● Problems/Incompatibilities between the codes become evident at release time
  • 3. 3 Continuous Integration M.Fowler: Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible. ● Integrate frequently ● Automated build ● Detect integration errors quickly
  • 4. 4 Continuous Integration Maintain a Single Source Repository ● In general you should store in source control everything you need to build anything, but nothing that you actually build (artefact). ● One project one repo
  • 5. 5 Continuous Integration Automate the Build ● Anyone should be able to bring in a virgin machine, check the sources out of the repository, issue a single command, and have a running system on their machine
  • 6. 6 Continuous Integration Make Your Build Self-Testing ● A suite of automated tests that can check a large part of the code base for bugs. The tests need to be able to be kicked off from a simple command and to be self-checking.
  • 7. 7 Continuous Integration Everyone Commits To the Mainline Every Day ● Prerequisite for a developer committing to the mainline is that they can correctly build their code. ● Frequent commits encourage developers to break down their work into small chunks of a few hours each.
  • 8. 8 Continuous Integration Every Commit Should Build the Mainline on an Integration Machine ● Every time a commit against the repository finishes the server automatically checks out the sources onto the integration machine, initiates a build, and notifies the committer of the result of the build
  • 9. 9 Continuous Integration Keep the Build Fast ● The whole point of Continuous Integration is to provide rapid feedback. ● Made a stage of pipeline with a sequential suite of unit,integration,acceptance test
  • 10. 10 Continuous Integration Test in a Clone of the Production Environment ● As a result you want to set up your test environment to be as exact a mimic of your production environment as possible
  • 11. 11 Continuous Integration Everyone can see what's happening ● One of the most important things to communicate is the state of the mainline build
  • 12. 12 Continuous Integration Automate Deployment ● It's important to have scripts that will allow you to deploy the application into any environment easily.
  • 13. 13 Continuous Integration key points ● Build on each computer ● All test suite green before push ● Integration test between project every push ● High priority for CI red build
  • 16. 16 Continuous Integration ● Reduced risk during integration ● It does make them dramatically easier to find and remove bug ● Mindset ● Methodology and not a tool
  • 17. 17 Continuous Integration Onebip Scenario: Tools ● Version Control ● Build automation ● Continuous Integration
  • 18. 18 Continuous Integration Build automation: Phing <build> <dist/> <pre-remote-deploy/> <remote-deploy/> <post-remote-deploy-test/> <post-remote-deploy/> </build>
  • 20. 20 Continuous Integration Pipeline ● 4 environments: CI, IT, UAT, PROD o CI: unit,acceptance and integration test in isolation o IT: db/app migration rollback, BDD between project, Cross browser test o UAT: Manual customer approval test o PROD: Smoke test and KPI validation/monitoring test ● 9 pipeline for each heterogeneous projects ● Dependencies between environment and projects
  • 21. 21 Continuous Integration Improvement ● Rake build language ● All environment for Pipeline not 24h ● Continuous Delivery
  • 22. 22 Continuous Integration Thanks for listening Links http://martinfowler.com/articles/continuousIntegration.html http://www.thoughtworks.com/continuous-delivery
  • 23. ROMA | LONDON| MILANO | PARIS | MADRID | REUS | BERLIN | BEOGRAD | ISTANBUL | SAN FRANCISCO CIUDAD DE MÉXICO | SÃO PAULO | BOGOTÁ | MUMBAI Neomobile - Corporate Headquarters Viale Pasteur 78, 00144 Roma – Italy | Tel. +39 0698262553 info@neomobile.com