Continuous IntegrationJenkins + Ansible + Docker
KUNDENNAME
Agenda
16-11-22CI – Jenkins + Ansible + Docker2
01Continuous IntegrationWhy do you want it? 04
ExamplesHow can you achieve it?
02ToolsHow can you do it? 05
Further stepsWhat‘s next?
03Delivery pipelineWhat do you want to achieve?
Continuous Integration
01
Continuous Integration
16-11-22CI – Jenkins + Ansible + Docker4
• Integrating all changes immediately!
• Full automation
• Taking responsibility for whole process
What...
...does it mean?
...it does not mean?
...are its advantages?
...are its disadvantages?
Continuous Integration
16-11-22CI – Jenkins + Ansible + Docker5
• Performing continuous test on integration environmentWhat...
...does it mean?
...it does not mean?
...are its advantages?
...are its disadvantages?
Continuous Integration
16-11-22CI – Jenkins + Ansible + Docker6
• Moving redundant work to tools
• Better quality
• Have to be short
• Continuous feedback about build
What...
...does it mean?
...it does not mean?
...are its advantages?
...are its disadvantages?
Continuous Integration
16-11-22CI – Jenkins + Ansible + Docker7
• Quite big initial effort
• Rigorious process
• Have to be short
What...
...does it mean?
...it does not mean?
...are its advantages?
...are its disadvantages?
Tools
02
Tools
16-11-22CI – Jenkins + Ansible + Docker9
ContinuousIntegration
SCM SVN Git Mercurial ...
Tools
16-11-22CI – Jenkins + Ansible + Docker10
ContinuousIntegration
SCM SVN Git Mercurial ...
Automation Jenkins Travis ...
Tools
16-11-22CI – Jenkins + Ansible + Docker11
ContinuousIntegration
SCM SVN Git Mercurial ...
Automation Jenkins Travis ...
Artifact Repository Artifactory JFrog Nexus ...
Tools
16-11-22CI – Jenkins + Ansible + Docker12
ContinuousIntegration
SCM SVN Git Mercurial ...
Automation Jenkins Travis ...
Artifact Repository Artifactory JFrog Nexus ...
Scripts Ansible PowerShell Bash ...
Tools
16-11-22CI – Jenkins + Ansible + Docker13
ContinuousIntegration
SCM SVN Git Mercurial ...
Automation Jenkins Travis ...
Artifact Repository Artifactory JFrog Nexus ...
Scripts Ansible PowerShell Bash ...
Tools
16-11-22CI – Jenkins + Ansible + Docker14
ContinuousIntegration
SCM SVN Git Mercurial ...
Automation Jenkins Travis ...
Artifact Repository Artifactory JFrog Nexus ...
Scripts Ansible PowerShell Bash ...
Delivery pipeline
03
Delivery pipeline
16-11-22CI – Jenkins + Ansible + Docker16
• Divided into phases
• Each phase cannot start when previous one fails
Commit Build Unit TestingDeliver to Repository
Delivery pipeline
16-11-22CI – Jenkins + Ansible + Docker17
• Developer should commit his changes as soon as he is done with his work
• Committed changes should be minimal
Commit Build Unit TestingDeliver to Repository
Delivery pipeline
16-11-22CI – Jenkins + Ansible + Docker18
• Automated build triggered after commit
• When build fails teams should fix errors immediately
Commit Build Unit TestingDeliver to Repository
Delivery pipeline
16-11-22CI – Jenkins + Ansible + Docker19
• Launch unit testing when compilation is complete
• Proceed to next phase when all tests pass
• Don‘t fail tests when single error occurs
Commit Build Unit TestingDeliver to Repository
Delivery pipeline
16-11-22CI – Jenkins + Ansible + Docker20
• Compiled and tested binaries should be deployed to repository
• Binaries can be then copied for each future phase of product delivery pipeline
Commit Build Unit TestingDeliver to Repository
Delivery pipeline
16-11-22CI – Jenkins + Ansible + Docker21
• Automation can go beyond integration
• Automatic deployment to Integration/Acceptance environment
• Automated Performance Testing
• And more!
Commit Build Unit TestingDeliver to Repository
Examples
04
Further steps
05
Further steps
16-11-22CI – Jenkins + Ansible + Docker24
• Aim beyond Continuous Integration
• Eliminate human error by automation
• Continuous Delivery
• DevOps
16-11-22CI – Jenkins + Ansible + Docker25
Questions?
Lufthansa Systems Poland
26
● We are a part of Lufthansa Group – in Gdańsk location we have more than 500 employees – in both areas: IT and aeronautical.
● Our services and solutions support airlines concerning flight safety of millions passengers travelling with more than 100 airlines, all over the world.
● Our mission is to join aeronautical, business and IT expertise in order to optimize airlines operations.
● We believe that the basis of our success are people – we care about mutual exchange of experience and best practises in each area.
● Any questions? Talk with us after all presentations!
CI – Jenkins + Ansible + Docker 16-11-22
16-11-22CI – Jenkins + Ansible + Docker27
Thank You!
Top Related