SlideShare ist ein Scribd-Unternehmen logo
1 von 24
Downloaden Sie, um offline zu lesen
Continuous Delivery
The Continuous Delivery toolstack
for embedded Java
by Leif Sørensen, Partner at Praqma
Continuous Delivery
Praqma
Continuous Delivery Experts
We automate
software
development
processes and
verification
techniques
We do sponsored
Open Source
development.
Our focus is strong on
Open Source tools
especially Jenkins CI
Regional service
Service partner
agreements
Continuous Delivery
Continuous Delivery
Defies Phases
Software development is iterative by nature.
Traditionally each iteration is seen as divided into phases
Development Integration Testing Deployment Release
The workload in each phase is unpredictable
...and so becomes the release date
The business
stakeholders must be able
to decide the release date
Development+Integration+
Testing+Deployment+
Release
Development+Integration+
Testing+Deployment+
Release
Development+Integration+
Testing+Deployment+
Release
Development+Integration+
Testing+Deployment+
Release
Development+Integration+
Testing+Deployment+
Release
Every commit is a potential
release candidate
Continuous Delivery
Agile manifesto
Continuous Delivery
Continuous Delivery
A Staged Approach
Commit
Rejected
Released
Pre-test
Static
Analysis
Passed
Failed
Deploy &
Test
Passed
Failed
Failed
Release &
Deploy
Passed
Failed
Continuous Delivery
Signs of
Continuous Delivery Maturity
“Early Branching”
Branches used
for releases
Merges are rare
Unit Test
Code
Coverage
Verification
before commit
run in developer's
Workspace
Common
nightly build
Build status is
notified to
committer
“Late branching”
Branches used
for work isolation
Merges are
common
Metrics on
technical debt &
compliance
Mock-up's &
proxies
Ci server
builds on commit
Artifacts are
managed
Latest build status
Is available to
all stakeholders
Pre-tested
Commits
Integration branch
is pristine
Peer-reviews
Automated
Functional
Test
No build scripts
-only configurations
Dependencies
are managed
Trend reports
Build status can
be subscribed to
(pull vs push)
All commits are
tied to tasks
Individual
history rewrites
In DVCS
Test Data
Test in target
Distributed builds
Staged build
sequence
Monitors in work
areas show
real-time status
Release notes
& traceability
analysis
are generated
automatically
Automated
Acceptance
Test
Build from VM
CI server
orchestrate VMs
Build reports
and statistics are
shared with
customer and
public
Visibility
SCM
Test + QA
Build
Novice Expert
Continuous Delivery
Cobertura
● A code coverage utility for Java.
Javadoc
Checkstyle
● Junit
● A programmer-oriented testing framework for Java.
Tools
Continuous Delivery
Jenkins CI - What it does
Jenkins CI make
the state of the software
visible
Continuous Delivery
Build pipelines
Continuous Delivery
Cobertura Code Coverage
Continuous Delivery
Cobertura Code Coverage
Continuous Delivery
Checkstyle, Open Tasks
1
Praqmatic Software
Development
Continuous Delivery
The Continuous Delivery toolstack
for embedded Java
by Leif Sørensen, Partner at Praqma
2
Praqmatic Software
Development
Continuous Delivery
Praqma
Continuous Delivery Experts
We automate
software
development
processes and
verification
techniques
We do sponsored
Open Source
development.
Our focus is strong on
Open Source tools
especially Jenkins CI
Regional service
Service partner
agreements
● Continuous delivery experts, experienced in working in regulated
environments such at FDA, Solvency II, MISRA and ISO
● We help software development teams setup their software
development processes, continuous integration and continuous
delivery strategies.
● Open source community karma
● Offer SLA to our customers, that enables safe use of OSS
● Contribute by proxy
● Hvem er vi/jeg?
● Hvem er I?
3
Praqmatic Software
Development
Continuous Delivery
Continuous Delivery
Defies Phases
Software development is iterative by nature.
Traditionally each iteration is seen as divided into phases
Development Integration Testing Deployment Release
The workload in each phase is unpredictable
...and so becomes the release date
The business
stakeholders must be able
to decide the release date
Development+Integration+
Testing+Deployment+
Release
Development+Integration+
Testing+Deployment+
Release
Development+Integration+
Testing+Deployment+
Release
Development+Integration+
Testing+Deployment+
Release
Development+Integration+
Testing+Deployment+
Release
Every commit is a potential
release candidate
● Software development is iterative by nature, each release is followed
by another, and each release tend to be regarded as a separate
cycle
● Traditionally the SW process is perceived as having phases, which
all -except the development itself - deals with consolidating the
development effort.
● The consolidating phases are all notoriously unpredictable.
● The release data can not be planned
● The solution is to to automate all consolidation and verification steps
and execute them upon every single commit
● The most important ingredients are an unquenchable urge to
automate everything and a well greased build environment
● The phases – as we know them from traditional SW development –
has got to be eliminated
● CD defies phases
4
Praqmatic Software
Development
Continuous Delivery
Agile manifesto
2 important points from agile manifesto
5
Praqmatic Software
Development
Continuous Delivery
Continuous Delivery
A Staged Approach
Commit
Rejected
Released
Pre-test
Static
Analysis
Passed
Failed
Deploy &
Test
Passed
Failed
Failed
Release &
Deploy
Passed
Failed
Imagine that you should draw a state-transition diagram of the
process that should validate a release candidate from the point
where it's committed to the VCS and through the verifications that
would finally validate it.
It Could probably look something like this.
Point is:
● It's a staged model
● Each stage consist of an action AND a decision
● If this shall be automated then BOTH the action and the
decision must be automated
Jenkins Can do this!
6
Praqmatic Software
Development
Continuous Delivery
Signs of
Continuous Delivery Maturity
“Early Branching”
Branches used
for releases
Merges are rare
Unit Test
Code
Coverage
Verification
before commit
run in developer's
Workspace
Common
nightly build
Build status is
notified to
committer
“Late branching”
Branches used
for work isolation
Merges are
common
Metrics on
technical debt &
compliance
Mock-up's &
proxies
Ci server
builds on commit
Artifacts are
managed
Latest build status
Is available to
all stakeholders
Pre-tested
Commits
Integration branch
is pristine
Peer-reviews
Automated
Functional
Test
No build scripts
-only configurations
Dependencies
are managed
Trend reports
Build status can
be subscribed to
(pull vs push)
All commits are
tied to tasks
Individual
history rewrites
In DVCS
Test Data
Test in target
Distributed builds
Staged build
sequence
Monitors in work
areas show
real-time status
Release notes
& traceability
analysis
are generated
automatically
Automated
Acceptance
Test
Build from VM
CI server
orchestrate VMs
Build reports
and statistics are
shared with
customer and
public
Visibility
SCM
Test + QA
Build
Novice Expert
7
Praqmatic Software
Development
Continuous Delivery
Cobertura
● A code coverage utility for Java.
Javadoc
Checkstyle
● Junit
● A programmer-oriented testing framework for Java.
Tools
8
Praqmatic Software
Development
Continuous Delivery
Jenkins CI - What it does
Jenkins CI make
the state of the software
visible
9
Praqmatic Software
Development
Continuous Delivery
Build pipelines
10
Praqmatic Software
Development
Continuous Delivery
Cobertura Code Coverage
11
Praqmatic Software
Development
Continuous Delivery
Cobertura Code Coverage
12
Praqmatic Software
Development
Continuous Delivery
Checkstyle, Open Tasks

Weitere ähnliche Inhalte

Was ist angesagt?

The Continuous delivery value - Funaro
The Continuous delivery value - FunaroThe Continuous delivery value - Funaro
The Continuous delivery value - FunaroCodemotion
 
Agile, DevOps & Test
Agile, DevOps & TestAgile, DevOps & Test
Agile, DevOps & TestQualitest
 
Resume_Archana_Rao
Resume_Archana_RaoResume_Archana_Rao
Resume_Archana_Raoarchana rao
 
Agile process with a fixed cost
Agile process with a fixed costAgile process with a fixed cost
Agile process with a fixed costRalph Johnson
 
John Fodeh Adventures in Test Automation - EuroSTAR 2013
John Fodeh Adventures in Test Automation - EuroSTAR 2013John Fodeh Adventures in Test Automation - EuroSTAR 2013
John Fodeh Adventures in Test Automation - EuroSTAR 2013TEST Huddle
 
Agile & ALM tools
Agile & ALM toolsAgile & ALM tools
Agile & ALM toolsLarry Cai
 
Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”
Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”
Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”Emerasoft, solutions to collaborate
 
1×10 rola QA w tworzeniu Atlassian JIRA
 1×10 rola QA w tworzeniu Atlassian JIRA 1×10 rola QA w tworzeniu Atlassian JIRA
1×10 rola QA w tworzeniu Atlassian JIRA3camp
 
New trends in testing automation
New trends in testing automationNew trends in testing automation
New trends in testing automationEran Kinsbrunner
 
RemoteLaunch Overview Presentation (2022)
RemoteLaunch Overview Presentation (2022)RemoteLaunch Overview Presentation (2022)
RemoteLaunch Overview Presentation (2022)Inflectra
 
Continues delivery - Introduction
Continues delivery - IntroductionContinues delivery - Introduction
Continues delivery - IntroductionErez Attar
 
Agile testing - Principles and best practices
Agile testing  - Principles and best practicesAgile testing  - Principles and best practices
Agile testing - Principles and best practicesDr Ganesh Iyer
 
Continuous Delivery: why ? where to start ? how to scale ?
Continuous Delivery: why ? where to start ? how to scale ?Continuous Delivery: why ? where to start ? how to scale ?
Continuous Delivery: why ? where to start ? how to scale ?Jean-Philippe Briend
 
Code campiasi scm-project-gabriel-cristescu-ditech
Code campiasi scm-project-gabriel-cristescu-ditechCode campiasi scm-project-gabriel-cristescu-ditech
Code campiasi scm-project-gabriel-cristescu-ditechCodecamp Romania
 
Self-Service Secure Test and Release Pipelines
Self-Service Secure Test and Release PipelinesSelf-Service Secure Test and Release Pipelines
Self-Service Secure Test and Release PipelinesSalesforce Engineering
 
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
 
Ralph Jocham, Effective Agile | Agile Turkey Summit 2013
Ralph Jocham, Effective Agile | Agile Turkey Summit 2013Ralph Jocham, Effective Agile | Agile Turkey Summit 2013
Ralph Jocham, Effective Agile | Agile Turkey Summit 2013Agile Turkey
 
50+ ways to improve tester - programmer relationship
50+ ways to improve tester - programmer relationship50+ ways to improve tester - programmer relationship
50+ ways to improve tester - programmer relationshipAgile Testing Alliance
 

Was ist angesagt? (20)

The Continuous delivery value - Funaro
The Continuous delivery value - FunaroThe Continuous delivery value - Funaro
The Continuous delivery value - Funaro
 
Agile, DevOps & Test
Agile, DevOps & TestAgile, DevOps & Test
Agile, DevOps & Test
 
Resume_Archana_Rao
Resume_Archana_RaoResume_Archana_Rao
Resume_Archana_Rao
 
Agile process with a fixed cost
Agile process with a fixed costAgile process with a fixed cost
Agile process with a fixed cost
 
John Fodeh Adventures in Test Automation - EuroSTAR 2013
John Fodeh Adventures in Test Automation - EuroSTAR 2013John Fodeh Adventures in Test Automation - EuroSTAR 2013
John Fodeh Adventures in Test Automation - EuroSTAR 2013
 
6 sigma LTE release management process improvement
6 sigma LTE release management process improvement6 sigma LTE release management process improvement
6 sigma LTE release management process improvement
 
Agile & ALM tools
Agile & ALM toolsAgile & ALM tools
Agile & ALM tools
 
Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”
Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”
Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”
 
1×10 rola QA w tworzeniu Atlassian JIRA
 1×10 rola QA w tworzeniu Atlassian JIRA 1×10 rola QA w tworzeniu Atlassian JIRA
1×10 rola QA w tworzeniu Atlassian JIRA
 
New trends in testing automation
New trends in testing automationNew trends in testing automation
New trends in testing automation
 
RemoteLaunch Overview Presentation (2022)
RemoteLaunch Overview Presentation (2022)RemoteLaunch Overview Presentation (2022)
RemoteLaunch Overview Presentation (2022)
 
Continues delivery - Introduction
Continues delivery - IntroductionContinues delivery - Introduction
Continues delivery - Introduction
 
Agile testing - Principles and best practices
Agile testing  - Principles and best practicesAgile testing  - Principles and best practices
Agile testing - Principles and best practices
 
KT Resume_2014
KT Resume_2014KT Resume_2014
KT Resume_2014
 
Continuous Delivery: why ? where to start ? how to scale ?
Continuous Delivery: why ? where to start ? how to scale ?Continuous Delivery: why ? where to start ? how to scale ?
Continuous Delivery: why ? where to start ? how to scale ?
 
Code campiasi scm-project-gabriel-cristescu-ditech
Code campiasi scm-project-gabriel-cristescu-ditechCode campiasi scm-project-gabriel-cristescu-ditech
Code campiasi scm-project-gabriel-cristescu-ditech
 
Self-Service Secure Test and Release Pipelines
Self-Service Secure Test and Release PipelinesSelf-Service Secure Test and Release Pipelines
Self-Service Secure Test and Release Pipelines
 
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
 
Ralph Jocham, Effective Agile | Agile Turkey Summit 2013
Ralph Jocham, Effective Agile | Agile Turkey Summit 2013Ralph Jocham, Effective Agile | Agile Turkey Summit 2013
Ralph Jocham, Effective Agile | Agile Turkey Summit 2013
 
50+ ways to improve tester - programmer relationship
50+ ways to improve tester - programmer relationship50+ ways to improve tester - programmer relationship
50+ ways to improve tester - programmer relationship
 

Ähnlich wie The Continuous Delivery toolstack for embedded Java af Leif Sørensen, Praqma

The Continuous delivery Value @ codemotion 2014
The Continuous delivery Value @ codemotion 2014The Continuous delivery Value @ codemotion 2014
The Continuous delivery Value @ codemotion 2014David Funaro
 
Webinar: “Mai sentito parlare di Continuous Delivery per il database? Ecco co...
Webinar: “Mai sentito parlare di Continuous Delivery per il database? Ecco co...Webinar: “Mai sentito parlare di Continuous Delivery per il database? Ecco co...
Webinar: “Mai sentito parlare di Continuous Delivery per il database? Ecco co...Emerasoft, solutions to collaborate
 
Testing and DevOps Culture: Lessons Learned
Testing and DevOps Culture: Lessons LearnedTesting and DevOps Culture: Lessons Learned
Testing and DevOps Culture: Lessons LearnedLB Denker
 
DevOps with Microsoft Stack
DevOps with Microsoft StackDevOps with Microsoft Stack
DevOps with Microsoft StackDeepti Jain
 
Agile lifecycle handbook by bhawani nandan prasad
Agile lifecycle handbook by bhawani nandan prasadAgile lifecycle handbook by bhawani nandan prasad
Agile lifecycle handbook by bhawani nandan prasadBhawani N Prasad
 
DevOps in Salesforce AppCloud
DevOps in Salesforce AppCloudDevOps in Salesforce AppCloud
DevOps in Salesforce AppCloudrsg00usa
 
Utilizing SVN Jenkins to Manage Multi-line Development to Deployments
Utilizing SVN  Jenkins to Manage Multi-line Development to DeploymentsUtilizing SVN  Jenkins to Manage Multi-line Development to Deployments
Utilizing SVN Jenkins to Manage Multi-line Development to DeploymentsTeresa Garcia-Bovenmyer ☁
 
Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion
Beyond Scrum: Scaling Agile with Continuous Delivery and SubversionBeyond Scrum: Scaling Agile with Continuous Delivery and Subversion
Beyond Scrum: Scaling Agile with Continuous Delivery and SubversionProduct Marketing Services
 
The Release Manager is Dead. Long Live the Release Manager!
The Release Manager is Dead. Long Live the Release Manager!The Release Manager is Dead. Long Live the Release Manager!
The Release Manager is Dead. Long Live the Release Manager!DevOps.com
 
The Release Manager is Dead. Long Live the Release Manager.
The Release Manager is Dead. Long Live the Release Manager.The Release Manager is Dead. Long Live the Release Manager.
The Release Manager is Dead. Long Live the Release Manager.Eric Minick
 
What is Continuous Delivery?
What is Continuous Delivery?What is Continuous Delivery?
What is Continuous Delivery?Alan Parkinson
 
Continuous Integration for z using Test Data Management and Application D...
Continuous  Integration for z  using  Test Data Management  and Application D...Continuous  Integration for z  using  Test Data Management  and Application D...
Continuous Integration for z using Test Data Management and Application D...DevOps for Enterprise Systems
 
DevOps Overview in my own words
DevOps Overview in my own wordsDevOps Overview in my own words
DevOps Overview in my own wordsSUBHENDU KARMAKAR
 
Software Release Orchestration and the Enterprise
Software Release Orchestration and the EnterpriseSoftware Release Orchestration and the Enterprise
Software Release Orchestration and the EnterpriseXebiaLabs
 
Continuous Delivery for Front-End Engineers
Continuous Delivery for Front-End EngineersContinuous Delivery for Front-End Engineers
Continuous Delivery for Front-End EngineersSergey Bolshchikov
 
Software Development Life Cycle-SDLC
Software Development Life Cycle-SDLCSoftware Development Life Cycle-SDLC
Software Development Life Cycle-SDLCAdeel Rasheed
 
Agile & DevOps - It's all about project success
Agile & DevOps - It's all about project successAgile & DevOps - It's all about project success
Agile & DevOps - It's all about project successAdam Stephensen
 

Ähnlich wie The Continuous Delivery toolstack for embedded Java af Leif Sørensen, Praqma (20)

The Continuous delivery Value @ codemotion 2014
The Continuous delivery Value @ codemotion 2014The Continuous delivery Value @ codemotion 2014
The Continuous delivery Value @ codemotion 2014
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous Delivery
 
Webinar: “Mai sentito parlare di Continuous Delivery per il database? Ecco co...
Webinar: “Mai sentito parlare di Continuous Delivery per il database? Ecco co...Webinar: “Mai sentito parlare di Continuous Delivery per il database? Ecco co...
Webinar: “Mai sentito parlare di Continuous Delivery per il database? Ecco co...
 
Testing and DevOps Culture: Lessons Learned
Testing and DevOps Culture: Lessons LearnedTesting and DevOps Culture: Lessons Learned
Testing and DevOps Culture: Lessons Learned
 
DevOps with Microsoft Stack
DevOps with Microsoft StackDevOps with Microsoft Stack
DevOps with Microsoft Stack
 
Agile lifecycle handbook by bhawani nandan prasad
Agile lifecycle handbook by bhawani nandan prasadAgile lifecycle handbook by bhawani nandan prasad
Agile lifecycle handbook by bhawani nandan prasad
 
DevOps in Salesforce AppCloud
DevOps in Salesforce AppCloudDevOps in Salesforce AppCloud
DevOps in Salesforce AppCloud
 
Continuous Integration & the Release Maturity Model
Continuous Integration & the Release Maturity Model Continuous Integration & the Release Maturity Model
Continuous Integration & the Release Maturity Model
 
Utilizing SVN Jenkins to Manage Multi-line Development to Deployments
Utilizing SVN  Jenkins to Manage Multi-line Development to DeploymentsUtilizing SVN  Jenkins to Manage Multi-line Development to Deployments
Utilizing SVN Jenkins to Manage Multi-line Development to Deployments
 
Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion
Beyond Scrum: Scaling Agile with Continuous Delivery and SubversionBeyond Scrum: Scaling Agile with Continuous Delivery and Subversion
Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion
 
The Release Manager is Dead. Long Live the Release Manager!
The Release Manager is Dead. Long Live the Release Manager!The Release Manager is Dead. Long Live the Release Manager!
The Release Manager is Dead. Long Live the Release Manager!
 
The Release Manager is Dead. Long Live the Release Manager.
The Release Manager is Dead. Long Live the Release Manager.The Release Manager is Dead. Long Live the Release Manager.
The Release Manager is Dead. Long Live the Release Manager.
 
What is Continuous Delivery?
What is Continuous Delivery?What is Continuous Delivery?
What is Continuous Delivery?
 
Continuous Integration for z using Test Data Management and Application D...
Continuous  Integration for z  using  Test Data Management  and Application D...Continuous  Integration for z  using  Test Data Management  and Application D...
Continuous Integration for z using Test Data Management and Application D...
 
DevOps Overview in my own words
DevOps Overview in my own wordsDevOps Overview in my own words
DevOps Overview in my own words
 
release management
release managementrelease management
release management
 
Software Release Orchestration and the Enterprise
Software Release Orchestration and the EnterpriseSoftware Release Orchestration and the Enterprise
Software Release Orchestration and the Enterprise
 
Continuous Delivery for Front-End Engineers
Continuous Delivery for Front-End EngineersContinuous Delivery for Front-End Engineers
Continuous Delivery for Front-End Engineers
 
Software Development Life Cycle-SDLC
Software Development Life Cycle-SDLCSoftware Development Life Cycle-SDLC
Software Development Life Cycle-SDLC
 
Agile & DevOps - It's all about project success
Agile & DevOps - It's all about project successAgile & DevOps - It's all about project success
Agile & DevOps - It's all about project success
 

Mehr von InfinIT - Innovationsnetværket for it

Mehr von InfinIT - Innovationsnetværket for it (20)

Erfaringer med-c kurt-noermark
Erfaringer med-c kurt-noermarkErfaringer med-c kurt-noermark
Erfaringer med-c kurt-noermark
 
Object orientering, test driven development og c
Object orientering, test driven development og cObject orientering, test driven development og c
Object orientering, test driven development og c
 
Embedded softwaredevelopment hcs
Embedded softwaredevelopment hcsEmbedded softwaredevelopment hcs
Embedded softwaredevelopment hcs
 
C og c++-jens lund jensen
C og c++-jens lund jensenC og c++-jens lund jensen
C og c++-jens lund jensen
 
201811xx foredrag c_cpp
201811xx foredrag c_cpp201811xx foredrag c_cpp
201811xx foredrag c_cpp
 
C som-programmeringssprog-bt
C som-programmeringssprog-btC som-programmeringssprog-bt
C som-programmeringssprog-bt
 
Infinit seminar 060918
Infinit seminar 060918Infinit seminar 060918
Infinit seminar 060918
 
DCR solutions
DCR solutionsDCR solutions
DCR solutions
 
Not your grandfathers BPM
Not your grandfathers BPMNot your grandfathers BPM
Not your grandfathers BPM
 
Kmd workzone - an evolutionary approach to revolution
Kmd workzone - an evolutionary approach to revolutionKmd workzone - an evolutionary approach to revolution
Kmd workzone - an evolutionary approach to revolution
 
EcoKnow - oplæg
EcoKnow - oplægEcoKnow - oplæg
EcoKnow - oplæg
 
Martin Wickins Chatbots i fronten
Martin Wickins Chatbots i frontenMartin Wickins Chatbots i fronten
Martin Wickins Chatbots i fronten
 
Marie Fenger ai kundeservice
Marie Fenger ai kundeserviceMarie Fenger ai kundeservice
Marie Fenger ai kundeservice
 
Mads Kaysen SupWiz
Mads Kaysen SupWizMads Kaysen SupWiz
Mads Kaysen SupWiz
 
Leif Howalt NNIT Service Support Center
Leif Howalt NNIT Service Support CenterLeif Howalt NNIT Service Support Center
Leif Howalt NNIT Service Support Center
 
Jan Neerbek NLP og Chatbots
Jan Neerbek NLP og ChatbotsJan Neerbek NLP og Chatbots
Jan Neerbek NLP og Chatbots
 
Anders Soegaard NLP for Customer Support
Anders Soegaard NLP for Customer SupportAnders Soegaard NLP for Customer Support
Anders Soegaard NLP for Customer Support
 
Stephen Alstrup infinit august 2018
Stephen Alstrup infinit august 2018Stephen Alstrup infinit august 2018
Stephen Alstrup infinit august 2018
 
Innovation og værdiskabelse i it-projekter
Innovation og værdiskabelse i it-projekterInnovation og værdiskabelse i it-projekter
Innovation og værdiskabelse i it-projekter
 
Rokoko infin it presentation
Rokoko infin it presentation Rokoko infin it presentation
Rokoko infin it presentation
 

Kürzlich hochgeladen

Instruction Manual | ThermTec Wild Thermal Monoculars | Optics Trade
Instruction Manual | ThermTec Wild Thermal Monoculars | Optics TradeInstruction Manual | ThermTec Wild Thermal Monoculars | Optics Trade
Instruction Manual | ThermTec Wild Thermal Monoculars | Optics TradeOptics-Trade
 
Real Moto 2 MOD APK v1.1.721 All Bikes, Unlimited Money
Real Moto 2 MOD APK v1.1.721 All Bikes, Unlimited MoneyReal Moto 2 MOD APK v1.1.721 All Bikes, Unlimited Money
Real Moto 2 MOD APK v1.1.721 All Bikes, Unlimited MoneyApk Toly
 
Resultados del Campeonato mundial de Marcha por equipos Antalya 2024
Resultados del Campeonato mundial de Marcha por equipos Antalya 2024Resultados del Campeonato mundial de Marcha por equipos Antalya 2024
Resultados del Campeonato mundial de Marcha por equipos Antalya 2024Judith Chuquipul
 
Technical Data | ThermTec Wild 650 | Optics Trade
Technical Data | ThermTec Wild 650 | Optics TradeTechnical Data | ThermTec Wild 650 | Optics Trade
Technical Data | ThermTec Wild 650 | Optics TradeOptics-Trade
 
办理学位证(KCL文凭证书)伦敦国王学院毕业证成绩单原版一模一样
办理学位证(KCL文凭证书)伦敦国王学院毕业证成绩单原版一模一样办理学位证(KCL文凭证书)伦敦国王学院毕业证成绩单原版一模一样
办理学位证(KCL文凭证书)伦敦国王学院毕业证成绩单原版一模一样7pn7zv3i
 
Call Girls in Dhaula Kuan 💯Call Us 🔝8264348440🔝
Call Girls in Dhaula Kuan 💯Call Us 🔝8264348440🔝Call Girls in Dhaula Kuan 💯Call Us 🔝8264348440🔝
Call Girls in Dhaula Kuan 💯Call Us 🔝8264348440🔝soniya singh
 
Croatia vs Italy UEFA Euro 2024 Croatia's Checkered Legacy on Display in New ...
Croatia vs Italy UEFA Euro 2024 Croatia's Checkered Legacy on Display in New ...Croatia vs Italy UEFA Euro 2024 Croatia's Checkered Legacy on Display in New ...
Croatia vs Italy UEFA Euro 2024 Croatia's Checkered Legacy on Display in New ...Eticketing.co
 
Mysore Call Girls 7001305949 WhatsApp Number 24x7 Best Services
Mysore Call Girls 7001305949 WhatsApp Number 24x7 Best ServicesMysore Call Girls 7001305949 WhatsApp Number 24x7 Best Services
Mysore Call Girls 7001305949 WhatsApp Number 24x7 Best Servicesnajka9823
 
Dubai Call Girls Bikni O528786472 Call Girls Dubai Ebony
Dubai Call Girls Bikni O528786472 Call Girls Dubai EbonyDubai Call Girls Bikni O528786472 Call Girls Dubai Ebony
Dubai Call Girls Bikni O528786472 Call Girls Dubai Ebonyhf8803863
 
IPL Quiz ( weekly quiz) by SJU quizzers.
IPL Quiz ( weekly quiz) by SJU quizzers.IPL Quiz ( weekly quiz) by SJU quizzers.
IPL Quiz ( weekly quiz) by SJU quizzers.SJU Quizzers
 
JORNADA 3 LIGA MURO 2024GHGHGHGHGHGH.pdf
JORNADA 3 LIGA MURO 2024GHGHGHGHGHGH.pdfJORNADA 3 LIGA MURO 2024GHGHGHGHGHGH.pdf
JORNADA 3 LIGA MURO 2024GHGHGHGHGHGH.pdfArturo Pacheco Alvarez
 
8377087607 ☎, Cash On Delivery Call Girls Service In Hauz Khas Delhi Enjoy 24/7
8377087607 ☎, Cash On Delivery Call Girls Service In Hauz Khas Delhi Enjoy 24/78377087607 ☎, Cash On Delivery Call Girls Service In Hauz Khas Delhi Enjoy 24/7
8377087607 ☎, Cash On Delivery Call Girls Service In Hauz Khas Delhi Enjoy 24/7dollysharma2066
 
Technical Data | ThermTec Wild 650L | Optics Trade
Technical Data | ThermTec Wild 650L | Optics TradeTechnical Data | ThermTec Wild 650L | Optics Trade
Technical Data | ThermTec Wild 650L | Optics TradeOptics-Trade
 
ppt on Myself, Occupation and my Interest
ppt on Myself, Occupation and my Interestppt on Myself, Occupation and my Interest
ppt on Myself, Occupation and my InterestNagaissenValaydum
 
JORNADA 4 LIGA MURO 2024TUXTEPEC1234.pdf
JORNADA 4 LIGA MURO 2024TUXTEPEC1234.pdfJORNADA 4 LIGA MURO 2024TUXTEPEC1234.pdf
JORNADA 4 LIGA MURO 2024TUXTEPEC1234.pdfArturo Pacheco Alvarez
 
Technical Data | ThermTec Wild 335 | Optics Trade
Technical Data | ThermTec Wild 335 | Optics TradeTechnical Data | ThermTec Wild 335 | Optics Trade
Technical Data | ThermTec Wild 335 | Optics TradeOptics-Trade
 
France's UEFA Euro 2024 Ambitions Amid Coman's Injury.docx
France's UEFA Euro 2024 Ambitions Amid Coman's Injury.docxFrance's UEFA Euro 2024 Ambitions Amid Coman's Injury.docx
France's UEFA Euro 2024 Ambitions Amid Coman's Injury.docxEuro Cup 2024 Tickets
 
Expert Pool Table Refelting in Lee & Collier County, FL
Expert Pool Table Refelting in Lee & Collier County, FLExpert Pool Table Refelting in Lee & Collier County, FL
Expert Pool Table Refelting in Lee & Collier County, FLAll American Billiards
 

Kürzlich hochgeladen (20)

Instruction Manual | ThermTec Wild Thermal Monoculars | Optics Trade
Instruction Manual | ThermTec Wild Thermal Monoculars | Optics TradeInstruction Manual | ThermTec Wild Thermal Monoculars | Optics Trade
Instruction Manual | ThermTec Wild Thermal Monoculars | Optics Trade
 
Real Moto 2 MOD APK v1.1.721 All Bikes, Unlimited Money
Real Moto 2 MOD APK v1.1.721 All Bikes, Unlimited MoneyReal Moto 2 MOD APK v1.1.721 All Bikes, Unlimited Money
Real Moto 2 MOD APK v1.1.721 All Bikes, Unlimited Money
 
Resultados del Campeonato mundial de Marcha por equipos Antalya 2024
Resultados del Campeonato mundial de Marcha por equipos Antalya 2024Resultados del Campeonato mundial de Marcha por equipos Antalya 2024
Resultados del Campeonato mundial de Marcha por equipos Antalya 2024
 
Technical Data | ThermTec Wild 650 | Optics Trade
Technical Data | ThermTec Wild 650 | Optics TradeTechnical Data | ThermTec Wild 650 | Optics Trade
Technical Data | ThermTec Wild 650 | Optics Trade
 
办理学位证(KCL文凭证书)伦敦国王学院毕业证成绩单原版一模一样
办理学位证(KCL文凭证书)伦敦国王学院毕业证成绩单原版一模一样办理学位证(KCL文凭证书)伦敦国王学院毕业证成绩单原版一模一样
办理学位证(KCL文凭证书)伦敦国王学院毕业证成绩单原版一模一样
 
FULL ENJOY Call Girls In Savitri Nagar (Delhi) Call Us 9953056974
FULL ENJOY Call Girls In  Savitri Nagar (Delhi) Call Us 9953056974FULL ENJOY Call Girls In  Savitri Nagar (Delhi) Call Us 9953056974
FULL ENJOY Call Girls In Savitri Nagar (Delhi) Call Us 9953056974
 
Call Girls in Dhaula Kuan 💯Call Us 🔝8264348440🔝
Call Girls in Dhaula Kuan 💯Call Us 🔝8264348440🔝Call Girls in Dhaula Kuan 💯Call Us 🔝8264348440🔝
Call Girls in Dhaula Kuan 💯Call Us 🔝8264348440🔝
 
Croatia vs Italy UEFA Euro 2024 Croatia's Checkered Legacy on Display in New ...
Croatia vs Italy UEFA Euro 2024 Croatia's Checkered Legacy on Display in New ...Croatia vs Italy UEFA Euro 2024 Croatia's Checkered Legacy on Display in New ...
Croatia vs Italy UEFA Euro 2024 Croatia's Checkered Legacy on Display in New ...
 
Mysore Call Girls 7001305949 WhatsApp Number 24x7 Best Services
Mysore Call Girls 7001305949 WhatsApp Number 24x7 Best ServicesMysore Call Girls 7001305949 WhatsApp Number 24x7 Best Services
Mysore Call Girls 7001305949 WhatsApp Number 24x7 Best Services
 
Dubai Call Girls Bikni O528786472 Call Girls Dubai Ebony
Dubai Call Girls Bikni O528786472 Call Girls Dubai EbonyDubai Call Girls Bikni O528786472 Call Girls Dubai Ebony
Dubai Call Girls Bikni O528786472 Call Girls Dubai Ebony
 
IPL Quiz ( weekly quiz) by SJU quizzers.
IPL Quiz ( weekly quiz) by SJU quizzers.IPL Quiz ( weekly quiz) by SJU quizzers.
IPL Quiz ( weekly quiz) by SJU quizzers.
 
JORNADA 3 LIGA MURO 2024GHGHGHGHGHGH.pdf
JORNADA 3 LIGA MURO 2024GHGHGHGHGHGH.pdfJORNADA 3 LIGA MURO 2024GHGHGHGHGHGH.pdf
JORNADA 3 LIGA MURO 2024GHGHGHGHGHGH.pdf
 
8377087607 ☎, Cash On Delivery Call Girls Service In Hauz Khas Delhi Enjoy 24/7
8377087607 ☎, Cash On Delivery Call Girls Service In Hauz Khas Delhi Enjoy 24/78377087607 ☎, Cash On Delivery Call Girls Service In Hauz Khas Delhi Enjoy 24/7
8377087607 ☎, Cash On Delivery Call Girls Service In Hauz Khas Delhi Enjoy 24/7
 
Technical Data | ThermTec Wild 650L | Optics Trade
Technical Data | ThermTec Wild 650L | Optics TradeTechnical Data | ThermTec Wild 650L | Optics Trade
Technical Data | ThermTec Wild 650L | Optics Trade
 
ppt on Myself, Occupation and my Interest
ppt on Myself, Occupation and my Interestppt on Myself, Occupation and my Interest
ppt on Myself, Occupation and my Interest
 
JORNADA 4 LIGA MURO 2024TUXTEPEC1234.pdf
JORNADA 4 LIGA MURO 2024TUXTEPEC1234.pdfJORNADA 4 LIGA MURO 2024TUXTEPEC1234.pdf
JORNADA 4 LIGA MURO 2024TUXTEPEC1234.pdf
 
Technical Data | ThermTec Wild 335 | Optics Trade
Technical Data | ThermTec Wild 335 | Optics TradeTechnical Data | ThermTec Wild 335 | Optics Trade
Technical Data | ThermTec Wild 335 | Optics Trade
 
France's UEFA Euro 2024 Ambitions Amid Coman's Injury.docx
France's UEFA Euro 2024 Ambitions Amid Coman's Injury.docxFrance's UEFA Euro 2024 Ambitions Amid Coman's Injury.docx
France's UEFA Euro 2024 Ambitions Amid Coman's Injury.docx
 
young Call girls in Moolchand 🔝 9953056974 🔝 Delhi escort Service
young Call girls in Moolchand 🔝 9953056974 🔝 Delhi escort Serviceyoung Call girls in Moolchand 🔝 9953056974 🔝 Delhi escort Service
young Call girls in Moolchand 🔝 9953056974 🔝 Delhi escort Service
 
Expert Pool Table Refelting in Lee & Collier County, FL
Expert Pool Table Refelting in Lee & Collier County, FLExpert Pool Table Refelting in Lee & Collier County, FL
Expert Pool Table Refelting in Lee & Collier County, FL
 

The Continuous Delivery toolstack for embedded Java af Leif Sørensen, Praqma

  • 1. Continuous Delivery The Continuous Delivery toolstack for embedded Java by Leif Sørensen, Partner at Praqma
  • 2. Continuous Delivery Praqma Continuous Delivery Experts We automate software development processes and verification techniques We do sponsored Open Source development. Our focus is strong on Open Source tools especially Jenkins CI Regional service Service partner agreements
  • 3. Continuous Delivery Continuous Delivery Defies Phases Software development is iterative by nature. Traditionally each iteration is seen as divided into phases Development Integration Testing Deployment Release The workload in each phase is unpredictable ...and so becomes the release date The business stakeholders must be able to decide the release date Development+Integration+ Testing+Deployment+ Release Development+Integration+ Testing+Deployment+ Release Development+Integration+ Testing+Deployment+ Release Development+Integration+ Testing+Deployment+ Release Development+Integration+ Testing+Deployment+ Release Every commit is a potential release candidate
  • 5. Continuous Delivery Continuous Delivery A Staged Approach Commit Rejected Released Pre-test Static Analysis Passed Failed Deploy & Test Passed Failed Failed Release & Deploy Passed Failed
  • 6. Continuous Delivery Signs of Continuous Delivery Maturity “Early Branching” Branches used for releases Merges are rare Unit Test Code Coverage Verification before commit run in developer's Workspace Common nightly build Build status is notified to committer “Late branching” Branches used for work isolation Merges are common Metrics on technical debt & compliance Mock-up's & proxies Ci server builds on commit Artifacts are managed Latest build status Is available to all stakeholders Pre-tested Commits Integration branch is pristine Peer-reviews Automated Functional Test No build scripts -only configurations Dependencies are managed Trend reports Build status can be subscribed to (pull vs push) All commits are tied to tasks Individual history rewrites In DVCS Test Data Test in target Distributed builds Staged build sequence Monitors in work areas show real-time status Release notes & traceability analysis are generated automatically Automated Acceptance Test Build from VM CI server orchestrate VMs Build reports and statistics are shared with customer and public Visibility SCM Test + QA Build Novice Expert
  • 7. Continuous Delivery Cobertura ● A code coverage utility for Java. Javadoc Checkstyle ● Junit ● A programmer-oriented testing framework for Java. Tools
  • 8. Continuous Delivery Jenkins CI - What it does Jenkins CI make the state of the software visible
  • 13. 1 Praqmatic Software Development Continuous Delivery The Continuous Delivery toolstack for embedded Java by Leif Sørensen, Partner at Praqma
  • 14. 2 Praqmatic Software Development Continuous Delivery Praqma Continuous Delivery Experts We automate software development processes and verification techniques We do sponsored Open Source development. Our focus is strong on Open Source tools especially Jenkins CI Regional service Service partner agreements ● Continuous delivery experts, experienced in working in regulated environments such at FDA, Solvency II, MISRA and ISO ● We help software development teams setup their software development processes, continuous integration and continuous delivery strategies. ● Open source community karma ● Offer SLA to our customers, that enables safe use of OSS ● Contribute by proxy ● Hvem er vi/jeg? ● Hvem er I?
  • 15. 3 Praqmatic Software Development Continuous Delivery Continuous Delivery Defies Phases Software development is iterative by nature. Traditionally each iteration is seen as divided into phases Development Integration Testing Deployment Release The workload in each phase is unpredictable ...and so becomes the release date The business stakeholders must be able to decide the release date Development+Integration+ Testing+Deployment+ Release Development+Integration+ Testing+Deployment+ Release Development+Integration+ Testing+Deployment+ Release Development+Integration+ Testing+Deployment+ Release Development+Integration+ Testing+Deployment+ Release Every commit is a potential release candidate ● Software development is iterative by nature, each release is followed by another, and each release tend to be regarded as a separate cycle ● Traditionally the SW process is perceived as having phases, which all -except the development itself - deals with consolidating the development effort. ● The consolidating phases are all notoriously unpredictable. ● The release data can not be planned ● The solution is to to automate all consolidation and verification steps and execute them upon every single commit ● The most important ingredients are an unquenchable urge to automate everything and a well greased build environment ● The phases – as we know them from traditional SW development – has got to be eliminated ● CD defies phases
  • 16. 4 Praqmatic Software Development Continuous Delivery Agile manifesto 2 important points from agile manifesto
  • 17. 5 Praqmatic Software Development Continuous Delivery Continuous Delivery A Staged Approach Commit Rejected Released Pre-test Static Analysis Passed Failed Deploy & Test Passed Failed Failed Release & Deploy Passed Failed Imagine that you should draw a state-transition diagram of the process that should validate a release candidate from the point where it's committed to the VCS and through the verifications that would finally validate it. It Could probably look something like this. Point is: ● It's a staged model ● Each stage consist of an action AND a decision ● If this shall be automated then BOTH the action and the decision must be automated Jenkins Can do this!
  • 18. 6 Praqmatic Software Development Continuous Delivery Signs of Continuous Delivery Maturity “Early Branching” Branches used for releases Merges are rare Unit Test Code Coverage Verification before commit run in developer's Workspace Common nightly build Build status is notified to committer “Late branching” Branches used for work isolation Merges are common Metrics on technical debt & compliance Mock-up's & proxies Ci server builds on commit Artifacts are managed Latest build status Is available to all stakeholders Pre-tested Commits Integration branch is pristine Peer-reviews Automated Functional Test No build scripts -only configurations Dependencies are managed Trend reports Build status can be subscribed to (pull vs push) All commits are tied to tasks Individual history rewrites In DVCS Test Data Test in target Distributed builds Staged build sequence Monitors in work areas show real-time status Release notes & traceability analysis are generated automatically Automated Acceptance Test Build from VM CI server orchestrate VMs Build reports and statistics are shared with customer and public Visibility SCM Test + QA Build Novice Expert
  • 19. 7 Praqmatic Software Development Continuous Delivery Cobertura ● A code coverage utility for Java. Javadoc Checkstyle ● Junit ● A programmer-oriented testing framework for Java. Tools
  • 20. 8 Praqmatic Software Development Continuous Delivery Jenkins CI - What it does Jenkins CI make the state of the software visible