SlideShare una empresa de Scribd logo
1 de 35
Descargar para leer sin conexión
Continuous Integration
from server to cloud
Agile Software Developer at XPeppers
Erlang addicted since 2009
Twitter: @pdincau
Paolo D’Incau
Who am I?
Contents
Intro
In House
CI aaS
Drone
Conclusions
Contents
Our road to CI...but what is CI?
Your dear old blade server
Travis and friends
The new kid in town
Questions & maybe mild criticism
Once upon a time...
A team composed by several developers with
strong passions, different cultures and skills
Multiple projects ranging from mobile
applications to complex backend applications
How can we further improve the quality of our
work to get a better product?
Continuous Integration to the rescue!
Retrospective question
CI: Pragmatic definition
Codebase is owned by several developers that
continuously integrate their changes to a common
version control system.
For each integration the system runs a predefined
set of tasks automatically; these tasks may vary from
running all the tests to building all the components
confidence
+
automation
=
better product*
* with attitude and agreement
CI for me is...
Confidence
Fast feedback for my work
Easy merge of changes
I can always download a working copy
of codebase
Automation
Using IDE is not automating
Not only unit tests but also infrastructure
Reduce human error
Better product
Less time spent in fixing
Integrate now and not later
“Pay me now or pay more later”
confidence
+
automation
=
better product*
* with attitude and agreement
CI for me is...
Now you know what
CI is, but...
CI is obviously not...
“WELL, IT BUILDS ON MY MACHINE”
“PROBABLYYOU DON’T HAVEVERSION ABC OF XYZ”
“I SWEAR,TEST PASSED ON ECLIPSE”
“IT IS NOT AN ERROR, IT’S JUST A FAILURE”
“I PUSHED WITHOUT RUNNING THE TESTS”
“WHEN WAS THIS FEATURE INTRODUCED?”
“MY MACHINE IS NOT CONFIGURED”
“THE BUILD HAS BEEN BROKEN FOR 3 DAYS”
“MY TEST DB IS NOT CLEAN” “DOYOU HAVE DEFAULT MAVEN PROFILE?”
“INTEGRATION IS LAST PART”
Starting a new project?
True story I:
“Full Metal Blade”
In-House CI
Freedom to install anything we need
Full control over the build pipeline
Good if you have security constraints
In-House CI
Maintenance is up to you!
time + knowledge + patience
But well... Murphy’s law is behind the corner!
In-House to the cloud
Our blade server doesn’t scale very much...
...why don’t we go to the cloud?
Scalable system obtained with little effort
Jenkins CI
Formerly knows as Hudson
Battle tested over the years
Many plugins available...
A kid’s dream...
True story II:
“In my other life I am a developer”
CI aaS
Travis CI
First CI aaS in town
Easy integration with GitHub repos
Configuration takes minutes
On push builds starts
Travis CI
Configuration obtained by adding .travis.yml file
to your repository
Travis CI - Pros
Free for ∞ public repos and collaborators
Great variety of languages
Supports datastores and services
Travis CI - Cons
Free plan means no private repos...
... and no priority on build pipeline
Shippable CI
Startup founded in 2013
Supports both GitHub and Bitbucket
Configuration similar to Travis’ one
Shippable CI
Shippable CI - Pros
Up to 5 private repos for free
New stuff continuously added
They want your feedback
Shippable CI - Cons
Probably still not mature as Travis is
Sometimes behaves in unexpected ways
Very small story:
“Can we Go-lang to Docker?”
Drone CI
Open source project
Prevents configuration headaches
Based on Docker
Linux containers are really great!
Sometimes slower than other CIs
Collapsed mails made my crazy!
Drone CI
Conclusions
Much more than a bunch of tools
Automation is essential
Experiment and see what fits your needs best
Thank you!
Questions???

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Developing Serverless Applications with Apache OpenWhisk
Developing Serverless Applications with Apache OpenWhiskDeveloping Serverless Applications with Apache OpenWhisk
Developing Serverless Applications with Apache OpenWhisk
 
Cesqa tech forum - bitbucket pipelines
Cesqa tech forum - bitbucket pipelinesCesqa tech forum - bitbucket pipelines
Cesqa tech forum - bitbucket pipelines
 
Continous integration with jenkins
Continous integration with jenkinsContinous integration with jenkins
Continous integration with jenkins
 
PayPal's History of Microservices Architecture
PayPal's History of Microservices ArchitecturePayPal's History of Microservices Architecture
PayPal's History of Microservices Architecture
 
Docker Jenkins Pipeline Tutorial | Microservices Using Docker & Jenkins | Dev...
Docker Jenkins Pipeline Tutorial | Microservices Using Docker & Jenkins | Dev...Docker Jenkins Pipeline Tutorial | Microservices Using Docker & Jenkins | Dev...
Docker Jenkins Pipeline Tutorial | Microservices Using Docker & Jenkins | Dev...
 
Controlled Evolution with Puppet and AWS
Controlled Evolution with Puppet and AWSControlled Evolution with Puppet and AWS
Controlled Evolution with Puppet and AWS
 
Guide To Jenkins Management Continuous Integration And Useful Plugins Complet...
Guide To Jenkins Management Continuous Integration And Useful Plugins Complet...Guide To Jenkins Management Continuous Integration And Useful Plugins Complet...
Guide To Jenkins Management Continuous Integration And Useful Plugins Complet...
 
Create Alexa Skills using IBM Watson Conversation and Apache OpenWhisk
Create Alexa Skills using IBM Watson Conversation and Apache OpenWhiskCreate Alexa Skills using IBM Watson Conversation and Apache OpenWhisk
Create Alexa Skills using IBM Watson Conversation and Apache OpenWhisk
 
Microsoft DevOps Forum 2021 – DevOps & Security
 Microsoft DevOps Forum 2021 – DevOps & Security Microsoft DevOps Forum 2021 – DevOps & Security
Microsoft DevOps Forum 2021 – DevOps & Security
 
Docker
DockerDocker
Docker
 
Harnessing the power of aws using dot net
Harnessing the power of aws using dot netHarnessing the power of aws using dot net
Harnessing the power of aws using dot net
 
Software Delivery at Warp Speed: Five Essential Techniques
Software Delivery at Warp Speed: Five Essential TechniquesSoftware Delivery at Warp Speed: Five Essential Techniques
Software Delivery at Warp Speed: Five Essential Techniques
 
Build a CI/CD pipeline for Dockerized Microservices in AWS
Build a CI/CD pipeline for Dockerized Microservices in AWSBuild a CI/CD pipeline for Dockerized Microservices in AWS
Build a CI/CD pipeline for Dockerized Microservices in AWS
 
Microsoft Tech Summit Switzerland 2019 - DOCKER + AZURE DEVOPS + KUBERNETES = ♥
Microsoft Tech Summit Switzerland 2019 - DOCKER + AZURE DEVOPS + KUBERNETES = ♥Microsoft Tech Summit Switzerland 2019 - DOCKER + AZURE DEVOPS + KUBERNETES = ♥
Microsoft Tech Summit Switzerland 2019 - DOCKER + AZURE DEVOPS + KUBERNETES = ♥
 
NetflixOSS: The Netflix Way
NetflixOSS: The Netflix WayNetflixOSS: The Netflix Way
NetflixOSS: The Netflix Way
 
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
 
Deploy Angular to the Cloud
Deploy Angular to the CloudDeploy Angular to the Cloud
Deploy Angular to the Cloud
 
DevOps
DevOpsDevOps
DevOps
 
Azure DevOps: the future of integration and traceability
Azure DevOps: the future of integration and traceabilityAzure DevOps: the future of integration and traceability
Azure DevOps: the future of integration and traceability
 
Microservices reativos usando a stack do Netflix na AWS
Microservices reativos usando a stack do Netflix na AWSMicroservices reativos usando a stack do Netflix na AWS
Microservices reativos usando a stack do Netflix na AWS
 

Similar a Continuous Integration from server to cloud

Similar a Continuous Integration from server to cloud (20)

From Continuous Integration to DevOps
From Continuous Integration to DevOpsFrom Continuous Integration to DevOps
From Continuous Integration to DevOps
 
CI/CD (DevOps) 101
CI/CD (DevOps) 101CI/CD (DevOps) 101
CI/CD (DevOps) 101
 
TRAVIS CI-KNOLX
TRAVIS CI-KNOLXTRAVIS CI-KNOLX
TRAVIS CI-KNOLX
 
Dominik Veselý - Vše co jste kdy chtěli vědět o CI a báli jste se zeptat
Dominik Veselý - Vše co jste kdy chtěli vědět o CI a báli jste se zeptatDominik Veselý - Vše co jste kdy chtěli vědět o CI a báli jste se zeptat
Dominik Veselý - Vše co jste kdy chtěli vědět o CI a báli jste se zeptat
 
PHP Unconference Continuous Integration
PHP Unconference Continuous IntegrationPHP Unconference Continuous Integration
PHP Unconference Continuous Integration
 
DevOps to DevSecOps Journey..
DevOps to DevSecOps Journey..DevOps to DevSecOps Journey..
DevOps to DevSecOps Journey..
 
Montréal AWS Users United: Let's go Serverless!
Montréal AWS Users United: Let's go Serverless!Montréal AWS Users United: Let's go Serverless!
Montréal AWS Users United: Let's go Serverless!
 
A Tale of Two Pizzas: Developer Tools at AWS - DevDay Los Angeles 2017
A Tale of Two Pizzas: Developer Tools at AWS - DevDay Los Angeles 2017A Tale of Two Pizzas: Developer Tools at AWS - DevDay Los Angeles 2017
A Tale of Two Pizzas: Developer Tools at AWS - DevDay Los Angeles 2017
 
Container based CI Solution that creates build infrastructure on demand
Container based CI Solution that creates build infrastructure on demandContainer based CI Solution that creates build infrastructure on demand
Container based CI Solution that creates build infrastructure on demand
 
Salesforce cicd integration a quick guide
Salesforce cicd integration a quick guideSalesforce cicd integration a quick guide
Salesforce cicd integration a quick guide
 
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...
 
Docker e git lab
Docker e git labDocker e git lab
Docker e git lab
 
Enterprise level cloud CI
Enterprise level cloud CIEnterprise level cloud CI
Enterprise level cloud CI
 
SFDC Seamless Deployment Techniques
SFDC Seamless Deployment TechniquesSFDC Seamless Deployment Techniques
SFDC Seamless Deployment Techniques
 
Agile Network India | Continuous Integration & Continuous Deployment & Automa...
Agile Network India | Continuous Integration & Continuous Deployment & Automa...Agile Network India | Continuous Integration & Continuous Deployment & Automa...
Agile Network India | Continuous Integration & Continuous Deployment & Automa...
 
Integrating Security into your Development Pipeline
Integrating Security into your Development PipelineIntegrating Security into your Development Pipeline
Integrating Security into your Development Pipeline
 
Gitops: a new paradigm for software defined operations
Gitops: a new paradigm for software defined operationsGitops: a new paradigm for software defined operations
Gitops: a new paradigm for software defined operations
 
Guided Path to DevOps Career.
Guided Path to DevOps Career.Guided Path to DevOps Career.
Guided Path to DevOps Career.
 
Understanding AWS CodePipeline Presentation
Understanding AWS CodePipeline PresentationUnderstanding AWS CodePipeline Presentation
Understanding AWS CodePipeline Presentation
 
Understanding AWS CodePipeline Presentation
Understanding AWS CodePipeline PresentationUnderstanding AWS CodePipeline Presentation
Understanding AWS CodePipeline Presentation
 

Último

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Último (20)

Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 

Continuous Integration from server to cloud