SlideShare a Scribd company logo
1 of 59
Download to read offline
Madrid Drone CI
Kickstarting your
project with Drone
Kickstarting your
project with Drone
AgendaAgenda
 What is CI? Differences with Cd & CD
 Why should I implement CI?
 How to implement CI?
 Virtualization & Containerization
 Drone
 Hands on Drone
 Drone vs Jenkins
#MadDroneCI
@dcerecedo
daniel.cerecedo@byteflair.com
What?What?
Integration
Continuous ~
Integration
DeliveryContinuous ~
Integration
Delivery
Deployment
Continuous ~
Why?Why?
Reduced Cost
Reduced Cost & Risk
Reduced Cost & Risk
Greater Productivity
Reduced Cost & Risk
Greater Productivity
Continuous Improvement
Reduced Cost & Risk
Greater Productivity
Continuous Improvement
Team Confidence
Reduced Cost & Risk
Greater Productivity
Continuous Improvement
Team Confidence & Reputation
How?How?
Single source repository
Automated build
Self testing build
Self documenting build
Developer owned build
Fast build
Test in production clone
Report on build status
Traceability from binaries to source
Keep binaries accessible
VirtualizationVirtualization
bins & libs bins & libs bins & libs
Guest OS Guest OS Guest OS
Hypervisor
Host Operating System
Hardware
APP1 APP2 APP3
Guest OS Guest OS
Docker Engine
Host Operating System
Hardware
bins & libs bins & libs bins & libs
APP1 APP2 APP3
bins & libs bins & libs bins & libs
Guest OS Guest OS Guest OS
Hypervisor
Host Operating System
Hardware
APP1 APP2 APP3
Guest OS Guest OS
Docker Engine
Host Operating System
Hardware
bins & libs bins & libs bins & libs
APP1 APP2 APP3
DroneDrone
One server, multiple agents
Everything is a Docker container
Sample 1Sample 1
 Understand Drone Login
 A glimpse to the Dashboard
 Configuring the Drone CLI
Sample 2Sample 2
 Showcase the sample app
 Create a Meetup, a Location and an Event
Run some tests
Statically analyze code
Verify quality gates
Build binaries
Deploy binaries
Build Docker image
Deploy container
Notify results
A typical pipeline
Run some tests
Statically analyze code
Verify quality gates
Build binaries
Deploy binaries
Build Docker image
Deploy container
Notify results
Our sample pipeline
Sample 3Sample 3
 Activate a repo
 Review the simplest Drone pipeline
 Generate a trigger via git push
 Show build logs
 Show how the workspace is mounted in build steps
A pipeline is an ordered list of build steps
Plugin steps or custom steps
The clone step is implicit and is always first
A workspace is shared across all steps
Sample 4Sample 4
 Base pipeline: executing tests with in-memory
database
 Testing a build
Sample 5Sample 5
 Using services
 The problem with credentials. Managing secrets
 Base pipeline: executing tests against a real database
Services are dependencies of the build
Drone Workspace
Git
Container
Step 1
Container
Step N
Container
DroneEnvironmentVariables DroneSecretVariables
Drone Service Container 1
Docker
Networking
Docker
Networking
Docker
Networking
Docker
volume mount
Docker
volume mount
Docker
volume mount
Steps can read Drone envars & Drone secrets
Drone Workspace
Git
Container
Step 1
Container
Step N
Container
DroneEnvironmentVariables DroneSecretVariables
Drone Service Container 1
Docker
Networking
Docker
Networking
Docker
Networking
Docker
volume mount
Docker
volume mount
Docker
volume mount
 CI=drone
 DRONE=true
 DRONE_ARCH
 DRONE_REPO
 DRONE_REPO_OWNER
 DRONE_REPO_NAME
 DRONE_REPO_SCM
 DRONE_REPO_LINK
 DRONE_REPO_AVATAR
 DRONE_REPO_BRANCH
 DRONE_REPO_PRIVATE
 DRONE_REPO_TRUSTED
 DRONE_REMOTE_URL
 DRONE_COMMIT_SHA
 DRONE_COMMIT_REF
 DRONE_COMMIT_BRANCH
 DRONE_COMMIT_LINK
 DRONE_COMMIT_MESSAGE
 DRONE_COMMIT_AUTHOR
 DRONE_COMMIT_AUTHOR_EMAIL
 DRONE_COMMIT_AUTHOR_AVATAR
 DRONE_BUILD_NUMBER
 DRONE_BUILD_EVENT
 DRONE_BUILD_STATUS
 DRONE_BUILD_LINK
 DRONE_BUILD_CREATED
 DRONE_BUILD_STARTED
 DRONE_BUILD_FINISHED
 DRONE_PREV_BUILD_STATUS
 DRONE_PREV_BUILD_NUMBER
 DRONE_PREV_COMMIT_SHA
 DRONE_JOB_NUMBER
 DRONE_JOB_STATUS
 DRONE_JOB_EXIT_CODE
 DRONE_JOB_STARTED
 DRONE_JOB_FINISHED
 DRONE_YAML_SIGNED
 DRONE_YAML_VERIFIED
 DRONE_BRANCH
 DRONE_COMMIT
 DRONE_TAG
 DRONE_PULL_REQUEST
 DRONE_DEPLOY_TO
Sample 6Sample 6
 Using plugins
 Caching between build steps
 Caching between builds
 Conditional execution
Inter-step caching
Inter-build caching
Inter-build caching
 when:
 branch:
 include: [ master, release/* ]
 exclude: [ release/1.0.0, release/1.1.* ]
 event: [push, pull_request, tag, deployment]
 status: [ failure, success, changed ]
 platform: [ linux/*, windows/amd64 ]
 environment: production
Sample 7Sample 7
 Developing plugins
 Structure of a plugin
 Building a plugin to check Sonar quality gates
Run some tests
Statically analyze code
Verify quality gates
Build binaries
Deploy binaries
Build Docker image
Deploy container
Notify results
Our sample pipeline
Sample 8Sample 8
 Sending notifications
Drone ModelDrone Model
Drone vs JenkinsDrone vs Jenkins
 Developer owned vs Sysadmin owned
 Local build testing vs No testing
 Container centric vs Supports containers
 Extensible plugin model vs Hard to code plugins
 Native security vs Ad hoc security
 Native matrix builds vs Plugin matrix builds
 Trigger upstream/downstream builds via plugin
 Containers from scratch -
https://ericchiang.github.io/post/containers-from-scratch/
 Docker – https://docker.io
 Drone documentation – https://readme.drone.io
 Drone gitter channel – https://gitter.im/drone/drone
 Software costs - https://www.linkedin.com/post/edit/hidden-cost-speed-
statically-vs-dynamically-typed-daniel-cerecedo
ReferencesReferences
?
Thanks

More Related Content

What's hot

Automate App Container Delivery with CI/CD and DevOps
Automate App Container Delivery with CI/CD and DevOpsAutomate App Container Delivery with CI/CD and DevOps
Automate App Container Delivery with CI/CD and DevOpsDaniel Oh
 
Drone CI - Container native continuous Integration / Delivery
Drone CI - Container native continuous Integration / DeliveryDrone CI - Container native continuous Integration / Delivery
Drone CI - Container native continuous Integration / DeliveryPatrick Jahns
 
Testing as a container
Testing as a containerTesting as a container
Testing as a containerIrfan Ahmad
 
Intro 2 docker
Intro 2 dockerIntro 2 docker
Intro 2 dockerHanoiJUG
 
Ci with jenkins docker and mssql belgium
Ci with jenkins docker and mssql belgiumCi with jenkins docker and mssql belgium
Ci with jenkins docker and mssql belgiumChris Adkin
 
Using Docker to Develop, Test and Run Maven Projects - Wouter Danes
Using Docker to Develop, Test and Run Maven Projects - Wouter DanesUsing Docker to Develop, Test and Run Maven Projects - Wouter Danes
Using Docker to Develop, Test and Run Maven Projects - Wouter DanesNLJUG
 
DCEU 18: How To Build Your Containerization Strategy
DCEU 18: How To Build Your Containerization StrategyDCEU 18: How To Build Your Containerization Strategy
DCEU 18: How To Build Your Containerization StrategyDocker, Inc.
 
Shipping NodeJS with Docker and CoreOS
Shipping NodeJS with Docker and CoreOSShipping NodeJS with Docker and CoreOS
Shipping NodeJS with Docker and CoreOSRoss Kukulinski
 
WebRTC - Brings Real-Time to the Web
WebRTC - Brings Real-Time to the WebWebRTC - Brings Real-Time to the Web
WebRTC - Brings Real-Time to the WebVũ Nguyễn
 
DockerCon EU 2015: Stop Being Lazy and Test Your Software!
DockerCon EU 2015: Stop Being Lazy and Test Your Software!DockerCon EU 2015: Stop Being Lazy and Test Your Software!
DockerCon EU 2015: Stop Being Lazy and Test Your Software!Docker, Inc.
 
CI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
CI/CD with Jenkins and Docker - DevOps Meetup Day ThailandCI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
CI/CD with Jenkins and Docker - DevOps Meetup Day ThailandTroublemaker Khunpech
 
Labels, Labels, Labels
Labels, Labels, Labels Labels, Labels, Labels
Labels, Labels, Labels Docker, Inc.
 
Next-gen DevOps engineering with Docker and Kubernetes by Antons Kranga
Next-gen DevOps engineering with Docker and Kubernetes by Antons KrangaNext-gen DevOps engineering with Docker and Kubernetes by Antons Kranga
Next-gen DevOps engineering with Docker and Kubernetes by Antons KrangaJavaDayUA
 
SD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-Code
SD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-CodeSD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-Code
SD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-CodeBrian Dawson
 
JS digest. November 2017
JS digest. November 2017JS digest. November 2017
JS digest. November 2017ElifTech
 
Locally it worked! virtualizing docker
Locally it worked! virtualizing dockerLocally it worked! virtualizing docker
Locally it worked! virtualizing dockerSascha Brinkmann
 
Brujug Jenkins pipeline scalability
Brujug Jenkins pipeline scalabilityBrujug Jenkins pipeline scalability
Brujug Jenkins pipeline scalabilityDamien Coraboeuf
 
Java Day Kharkiv - Next-gen engineering with Docker and Kubernetes
Java Day Kharkiv - Next-gen engineering with Docker and KubernetesJava Day Kharkiv - Next-gen engineering with Docker and Kubernetes
Java Day Kharkiv - Next-gen engineering with Docker and KubernetesAntons Kranga
 
(Declarative) Jenkins Pipelines
(Declarative) Jenkins Pipelines(Declarative) Jenkins Pipelines
(Declarative) Jenkins PipelinesSteffen Gebert
 

What's hot (20)

Automate App Container Delivery with CI/CD and DevOps
Automate App Container Delivery with CI/CD and DevOpsAutomate App Container Delivery with CI/CD and DevOps
Automate App Container Delivery with CI/CD and DevOps
 
Drone CI - Container native continuous Integration / Delivery
Drone CI - Container native continuous Integration / DeliveryDrone CI - Container native continuous Integration / Delivery
Drone CI - Container native continuous Integration / Delivery
 
Testing as a container
Testing as a containerTesting as a container
Testing as a container
 
Intro 2 docker
Intro 2 dockerIntro 2 docker
Intro 2 docker
 
Ci with jenkins docker and mssql belgium
Ci with jenkins docker and mssql belgiumCi with jenkins docker and mssql belgium
Ci with jenkins docker and mssql belgium
 
Using Docker to Develop, Test and Run Maven Projects - Wouter Danes
Using Docker to Develop, Test and Run Maven Projects - Wouter DanesUsing Docker to Develop, Test and Run Maven Projects - Wouter Danes
Using Docker to Develop, Test and Run Maven Projects - Wouter Danes
 
DCEU 18: How To Build Your Containerization Strategy
DCEU 18: How To Build Your Containerization StrategyDCEU 18: How To Build Your Containerization Strategy
DCEU 18: How To Build Your Containerization Strategy
 
Shipping NodeJS with Docker and CoreOS
Shipping NodeJS with Docker and CoreOSShipping NodeJS with Docker and CoreOS
Shipping NodeJS with Docker and CoreOS
 
WebRTC - Brings Real-Time to the Web
WebRTC - Brings Real-Time to the WebWebRTC - Brings Real-Time to the Web
WebRTC - Brings Real-Time to the Web
 
DockerCon EU 2015: Stop Being Lazy and Test Your Software!
DockerCon EU 2015: Stop Being Lazy and Test Your Software!DockerCon EU 2015: Stop Being Lazy and Test Your Software!
DockerCon EU 2015: Stop Being Lazy and Test Your Software!
 
CI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
CI/CD with Jenkins and Docker - DevOps Meetup Day ThailandCI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
CI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
 
Labels, Labels, Labels
Labels, Labels, Labels Labels, Labels, Labels
Labels, Labels, Labels
 
Next-gen DevOps engineering with Docker and Kubernetes by Antons Kranga
Next-gen DevOps engineering with Docker and Kubernetes by Antons KrangaNext-gen DevOps engineering with Docker and Kubernetes by Antons Kranga
Next-gen DevOps engineering with Docker and Kubernetes by Antons Kranga
 
SD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-Code
SD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-CodeSD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-Code
SD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-Code
 
JS digest. November 2017
JS digest. November 2017JS digest. November 2017
JS digest. November 2017
 
Locally it worked! virtualizing docker
Locally it worked! virtualizing dockerLocally it worked! virtualizing docker
Locally it worked! virtualizing docker
 
Brujug Jenkins pipeline scalability
Brujug Jenkins pipeline scalabilityBrujug Jenkins pipeline scalability
Brujug Jenkins pipeline scalability
 
Java Day Kharkiv - Next-gen engineering with Docker and Kubernetes
Java Day Kharkiv - Next-gen engineering with Docker and KubernetesJava Day Kharkiv - Next-gen engineering with Docker and Kubernetes
Java Day Kharkiv - Next-gen engineering with Docker and Kubernetes
 
(Declarative) Jenkins Pipelines
(Declarative) Jenkins Pipelines(Declarative) Jenkins Pipelines
(Declarative) Jenkins Pipelines
 
Docker, what's next ?
Docker, what's next ?Docker, what's next ?
Docker, what's next ?
 

Viewers also liked

Writing sample
Writing sampleWriting sample
Writing sampleAnila John
 
Tamaso Ma Jyotirgamaya - From Darkness to Light
Tamaso Ma Jyotirgamaya - From Darkness to LightTamaso Ma Jyotirgamaya - From Darkness to Light
Tamaso Ma Jyotirgamaya - From Darkness to LightBiren Gandhi
 
Ultimate History of All Things Drones
Ultimate History of All Things DronesUltimate History of All Things Drones
Ultimate History of All Things DronesDavid W. Ewing
 
Lessons from DJI in the Drone Industry - Dave Litwiller - May 24 2017
Lessons from DJI in the Drone Industry - Dave Litwiller - May 24 2017Lessons from DJI in the Drone Industry - Dave Litwiller - May 24 2017
Lessons from DJI in the Drone Industry - Dave Litwiller - May 24 2017Dave Litwiller
 
VR Headsets - Where Are They Going?
VR Headsets - Where Are They Going?VR Headsets - Where Are They Going?
VR Headsets - Where Are They Going?David W. Ewing
 
InterDrone 2017 Las Vegas - Keynote Address
InterDrone 2017 Las Vegas - Keynote AddressInterDrone 2017 Las Vegas - Keynote Address
InterDrone 2017 Las Vegas - Keynote AddressBiren Gandhi
 
High Output Research and Development - Dave Litwiller - Oct. 18, 2017
High Output Research and Development - Dave Litwiller - Oct. 18, 2017High Output Research and Development - Dave Litwiller - Oct. 18, 2017
High Output Research and Development - Dave Litwiller - Oct. 18, 2017Dave Litwiller
 
DEF CON 25 (2017)- Game of Drones - Brown,Latimer - 29July2017 - Slides.PDF
DEF CON 25 (2017)- Game of Drones - Brown,Latimer - 29July2017 - Slides.PDFDEF CON 25 (2017)- Game of Drones - Brown,Latimer - 29July2017 - Slides.PDF
DEF CON 25 (2017)- Game of Drones - Brown,Latimer - 29July2017 - Slides.PDFBishop Fox
 
Current State of the Drone Industry - Skylogic Research
Current State of the Drone Industry - Skylogic ResearchCurrent State of the Drone Industry - Skylogic Research
Current State of the Drone Industry - Skylogic ResearchColin Snow
 
2017 Drone Market Sector Report
2017 Drone Market Sector Report2017 Drone Market Sector Report
2017 Drone Market Sector ReportColin Snow
 
Drone Market Forecasts: Promises and Reality
Drone Market Forecasts: Promises and RealityDrone Market Forecasts: Promises and Reality
Drone Market Forecasts: Promises and RealityColin Snow
 
Zenpayroll Pitch Deck Template
Zenpayroll Pitch Deck TemplateZenpayroll Pitch Deck Template
Zenpayroll Pitch Deck TemplateJoseph Hsieh
 
How Wealthsimple raised $2M in 2 weeks
How Wealthsimple raised $2M in 2 weeksHow Wealthsimple raised $2M in 2 weeks
How Wealthsimple raised $2M in 2 weeksWealthsimple
 
AppVirality.com - Investor Pitch Deck
AppVirality.com - Investor Pitch DeckAppVirality.com - Investor Pitch Deck
AppVirality.com - Investor Pitch DeckLaxman Papineni
 
AdPushup Fundraising Deck - First Pitch
AdPushup Fundraising Deck - First PitchAdPushup Fundraising Deck - First Pitch
AdPushup Fundraising Deck - First Pitchadpushup
 
500’s Demo Day Batch 16 >> Podozi
500’s Demo Day Batch 16 >>  Podozi500’s Demo Day Batch 16 >>  Podozi
500’s Demo Day Batch 16 >> Podozi500 Startups
 
Swipes pitch deck for Beta Pitch 2013 Finals in Berlin
Swipes pitch deck for Beta Pitch 2013 Finals in BerlinSwipes pitch deck for Beta Pitch 2013 Finals in Berlin
Swipes pitch deck for Beta Pitch 2013 Finals in BerlinSwipes App
 
The deck we used to raise $270k for our startup Castle
The deck we used to raise $270k for our startup CastleThe deck we used to raise $270k for our startup Castle
The deck we used to raise $270k for our startup Castleentercastle
 

Viewers also liked (20)

Writing sample
Writing sampleWriting sample
Writing sample
 
Tamaso Ma Jyotirgamaya - From Darkness to Light
Tamaso Ma Jyotirgamaya - From Darkness to LightTamaso Ma Jyotirgamaya - From Darkness to Light
Tamaso Ma Jyotirgamaya - From Darkness to Light
 
Ultimate History of All Things Drones
Ultimate History of All Things DronesUltimate History of All Things Drones
Ultimate History of All Things Drones
 
Lessons from DJI in the Drone Industry - Dave Litwiller - May 24 2017
Lessons from DJI in the Drone Industry - Dave Litwiller - May 24 2017Lessons from DJI in the Drone Industry - Dave Litwiller - May 24 2017
Lessons from DJI in the Drone Industry - Dave Litwiller - May 24 2017
 
VR Headsets - Where Are They Going?
VR Headsets - Where Are They Going?VR Headsets - Where Are They Going?
VR Headsets - Where Are They Going?
 
InterDrone 2017 Las Vegas - Keynote Address
InterDrone 2017 Las Vegas - Keynote AddressInterDrone 2017 Las Vegas - Keynote Address
InterDrone 2017 Las Vegas - Keynote Address
 
High Output Research and Development - Dave Litwiller - Oct. 18, 2017
High Output Research and Development - Dave Litwiller - Oct. 18, 2017High Output Research and Development - Dave Litwiller - Oct. 18, 2017
High Output Research and Development - Dave Litwiller - Oct. 18, 2017
 
Capstone.pptx
Capstone.pptxCapstone.pptx
Capstone.pptx
 
DEF CON 25 (2017)- Game of Drones - Brown,Latimer - 29July2017 - Slides.PDF
DEF CON 25 (2017)- Game of Drones - Brown,Latimer - 29July2017 - Slides.PDFDEF CON 25 (2017)- Game of Drones - Brown,Latimer - 29July2017 - Slides.PDF
DEF CON 25 (2017)- Game of Drones - Brown,Latimer - 29July2017 - Slides.PDF
 
Current State of the Drone Industry - Skylogic Research
Current State of the Drone Industry - Skylogic ResearchCurrent State of the Drone Industry - Skylogic Research
Current State of the Drone Industry - Skylogic Research
 
2017 Drone Market Sector Report
2017 Drone Market Sector Report2017 Drone Market Sector Report
2017 Drone Market Sector Report
 
Drone Market Forecasts: Promises and Reality
Drone Market Forecasts: Promises and RealityDrone Market Forecasts: Promises and Reality
Drone Market Forecasts: Promises and Reality
 
SteadyBudget's Seed Funding Pitch Deck
SteadyBudget's Seed Funding Pitch DeckSteadyBudget's Seed Funding Pitch Deck
SteadyBudget's Seed Funding Pitch Deck
 
Zenpayroll Pitch Deck Template
Zenpayroll Pitch Deck TemplateZenpayroll Pitch Deck Template
Zenpayroll Pitch Deck Template
 
How Wealthsimple raised $2M in 2 weeks
How Wealthsimple raised $2M in 2 weeksHow Wealthsimple raised $2M in 2 weeks
How Wealthsimple raised $2M in 2 weeks
 
AppVirality.com - Investor Pitch Deck
AppVirality.com - Investor Pitch DeckAppVirality.com - Investor Pitch Deck
AppVirality.com - Investor Pitch Deck
 
AdPushup Fundraising Deck - First Pitch
AdPushup Fundraising Deck - First PitchAdPushup Fundraising Deck - First Pitch
AdPushup Fundraising Deck - First Pitch
 
500’s Demo Day Batch 16 >> Podozi
500’s Demo Day Batch 16 >>  Podozi500’s Demo Day Batch 16 >>  Podozi
500’s Demo Day Batch 16 >> Podozi
 
Swipes pitch deck for Beta Pitch 2013 Finals in Berlin
Swipes pitch deck for Beta Pitch 2013 Finals in BerlinSwipes pitch deck for Beta Pitch 2013 Finals in Berlin
Swipes pitch deck for Beta Pitch 2013 Finals in Berlin
 
The deck we used to raise $270k for our startup Castle
The deck we used to raise $270k for our startup CastleThe deck we used to raise $270k for our startup Castle
The deck we used to raise $270k for our startup Castle
 

Similar to Drone Continuous Integration

DCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development PipelineDCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development PipelineDocker, Inc.
 
WSO2Con EU 2015: Keynote - The Containerization of the Developer Workspace
WSO2Con EU 2015: Keynote - The Containerization of the Developer WorkspaceWSO2Con EU 2015: Keynote - The Containerization of the Developer Workspace
WSO2Con EU 2015: Keynote - The Containerization of the Developer WorkspaceWSO2
 
Deploy Angular to the Cloud
Deploy Angular to the CloudDeploy Angular to the Cloud
Deploy Angular to the CloudSimona Cotin
 
Production sec ops with kubernetes in docker
Production sec ops with kubernetes in dockerProduction sec ops with kubernetes in docker
Production sec ops with kubernetes in dockerDocker, Inc.
 
TechDays 2017 - Asp.NET Core Anwendungen automatisiert als Container ausliefern
TechDays 2017 - Asp.NET Core Anwendungen automatisiert als Container ausliefernTechDays 2017 - Asp.NET Core Anwendungen automatisiert als Container ausliefern
TechDays 2017 - Asp.NET Core Anwendungen automatisiert als Container ausliefernMarc Müller
 
DCSF 19 Building Your Development Pipeline
DCSF 19 Building Your Development Pipeline  DCSF 19 Building Your Development Pipeline
DCSF 19 Building Your Development Pipeline Docker, Inc.
 
When to use Serverless? When to use Kubernetes?
When to use Serverless? When to use Kubernetes?When to use Serverless? When to use Kubernetes?
When to use Serverless? When to use Kubernetes?Niklas Heidloff
 
Delivery Pipelines as a First Class Citizen @deliverAgile2019
Delivery Pipelines as a First Class Citizen @deliverAgile2019Delivery Pipelines as a First Class Citizen @deliverAgile2019
Delivery Pipelines as a First Class Citizen @deliverAgile2019ciberkleid
 
Continuous Integration using Cruise Control
Continuous Integration using Cruise ControlContinuous Integration using Cruise Control
Continuous Integration using Cruise Controlelliando dias
 
Bring Continuous Integration to Your Laptop With the Drone CI Docker Extensio...
Bring Continuous Integration to Your Laptop With the Drone CI Docker Extensio...Bring Continuous Integration to Your Laptop With the Drone CI Docker Extensio...
Bring Continuous Integration to Your Laptop With the Drone CI Docker Extensio...jemije2490
 
Digital Forensics and Incident Response in The Cloud Part 3
Digital Forensics and Incident Response in The Cloud Part 3Digital Forensics and Incident Response in The Cloud Part 3
Digital Forensics and Incident Response in The Cloud Part 3Velocidex Enterprises
 
2018 Cisco DevNet Create : How to Treat a Network as a Container
2018 Cisco DevNet Create : How to Treat a Network as a Container2018 Cisco DevNet Create : How to Treat a Network as a Container
2018 Cisco DevNet Create : How to Treat a Network as a ContainerRosemary Wang
 
Java and windows azure cloud service
Java and windows azure cloud serviceJava and windows azure cloud service
Java and windows azure cloud serviceJeffray Huang
 
[20200720]cloud native develoment - Nelson Lin
[20200720]cloud native develoment - Nelson Lin[20200720]cloud native develoment - Nelson Lin
[20200720]cloud native develoment - Nelson LinHanLing Shen
 
Webinar by ZNetLive & Plesk- Winning the Game for WebOps and DevOps
Webinar by ZNetLive & Plesk- Winning the Game for WebOps and DevOps Webinar by ZNetLive & Plesk- Winning the Game for WebOps and DevOps
Webinar by ZNetLive & Plesk- Winning the Game for WebOps and DevOps ZNetLive
 
Deploying R for Production - SRUG
Deploying R for Production - SRUGDeploying R for Production - SRUG
Deploying R for Production - SRUGHolger Hellebro
 
[OpenInfra Days Korea 2018] Day 2 - E4 - 핸즈온 워크샵: 서버리스가 컨테이너를 만났을 때
[OpenInfra Days Korea 2018] Day 2 - E4 - 핸즈온 워크샵: 서버리스가 컨테이너를 만났을 때 [OpenInfra Days Korea 2018] Day 2 - E4 - 핸즈온 워크샵: 서버리스가 컨테이너를 만났을 때
[OpenInfra Days Korea 2018] Day 2 - E4 - 핸즈온 워크샵: 서버리스가 컨테이너를 만났을 때 OpenStack Korea Community
 
DevOps Workflow: A Tutorial on Linux Containers
DevOps Workflow: A Tutorial on Linux ContainersDevOps Workflow: A Tutorial on Linux Containers
DevOps Workflow: A Tutorial on Linux Containersinside-BigData.com
 

Similar to Drone Continuous Integration (20)

DCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development PipelineDCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development Pipeline
 
WSO2Con EU 2015: Keynote - The Containerization of the Developer Workspace
WSO2Con EU 2015: Keynote - The Containerization of the Developer WorkspaceWSO2Con EU 2015: Keynote - The Containerization of the Developer Workspace
WSO2Con EU 2015: Keynote - The Containerization of the Developer Workspace
 
Deploy Angular to the Cloud
Deploy Angular to the CloudDeploy Angular to the Cloud
Deploy Angular to the Cloud
 
AWS Code Services
AWS Code ServicesAWS Code Services
AWS Code Services
 
Production sec ops with kubernetes in docker
Production sec ops with kubernetes in dockerProduction sec ops with kubernetes in docker
Production sec ops with kubernetes in docker
 
TechDays 2017 - Asp.NET Core Anwendungen automatisiert als Container ausliefern
TechDays 2017 - Asp.NET Core Anwendungen automatisiert als Container ausliefernTechDays 2017 - Asp.NET Core Anwendungen automatisiert als Container ausliefern
TechDays 2017 - Asp.NET Core Anwendungen automatisiert als Container ausliefern
 
DCSF 19 Building Your Development Pipeline
DCSF 19 Building Your Development Pipeline  DCSF 19 Building Your Development Pipeline
DCSF 19 Building Your Development Pipeline
 
When to use Serverless? When to use Kubernetes?
When to use Serverless? When to use Kubernetes?When to use Serverless? When to use Kubernetes?
When to use Serverless? When to use Kubernetes?
 
Delivery Pipelines as a First Class Citizen @deliverAgile2019
Delivery Pipelines as a First Class Citizen @deliverAgile2019Delivery Pipelines as a First Class Citizen @deliverAgile2019
Delivery Pipelines as a First Class Citizen @deliverAgile2019
 
Continuous Integration using Cruise Control
Continuous Integration using Cruise ControlContinuous Integration using Cruise Control
Continuous Integration using Cruise Control
 
Bring Continuous Integration to Your Laptop With the Drone CI Docker Extensio...
Bring Continuous Integration to Your Laptop With the Drone CI Docker Extensio...Bring Continuous Integration to Your Laptop With the Drone CI Docker Extensio...
Bring Continuous Integration to Your Laptop With the Drone CI Docker Extensio...
 
Digital Forensics and Incident Response in The Cloud Part 3
Digital Forensics and Incident Response in The Cloud Part 3Digital Forensics and Incident Response in The Cloud Part 3
Digital Forensics and Incident Response in The Cloud Part 3
 
2018 Cisco DevNet Create : How to Treat a Network as a Container
2018 Cisco DevNet Create : How to Treat a Network as a Container2018 Cisco DevNet Create : How to Treat a Network as a Container
2018 Cisco DevNet Create : How to Treat a Network as a Container
 
Java and windows azure cloud service
Java and windows azure cloud serviceJava and windows azure cloud service
Java and windows azure cloud service
 
[20200720]cloud native develoment - Nelson Lin
[20200720]cloud native develoment - Nelson Lin[20200720]cloud native develoment - Nelson Lin
[20200720]cloud native develoment - Nelson Lin
 
Webinar by ZNetLive & Plesk- Winning the Game for WebOps and DevOps
Webinar by ZNetLive & Plesk- Winning the Game for WebOps and DevOps Webinar by ZNetLive & Plesk- Winning the Game for WebOps and DevOps
Webinar by ZNetLive & Plesk- Winning the Game for WebOps and DevOps
 
Deploying R for Production - SRUG
Deploying R for Production - SRUGDeploying R for Production - SRUG
Deploying R for Production - SRUG
 
Microxchg Microservices
Microxchg MicroservicesMicroxchg Microservices
Microxchg Microservices
 
[OpenInfra Days Korea 2018] Day 2 - E4 - 핸즈온 워크샵: 서버리스가 컨테이너를 만났을 때
[OpenInfra Days Korea 2018] Day 2 - E4 - 핸즈온 워크샵: 서버리스가 컨테이너를 만났을 때 [OpenInfra Days Korea 2018] Day 2 - E4 - 핸즈온 워크샵: 서버리스가 컨테이너를 만났을 때
[OpenInfra Days Korea 2018] Day 2 - E4 - 핸즈온 워크샵: 서버리스가 컨테이너를 만났을 때
 
DevOps Workflow: A Tutorial on Linux Containers
DevOps Workflow: A Tutorial on Linux ContainersDevOps Workflow: A Tutorial on Linux Containers
DevOps Workflow: A Tutorial on Linux Containers
 

More from Daniel Cerecedo

From Legacy to the Cloud and Beyond
From Legacy to the Cloud and BeyondFrom Legacy to the Cloud and Beyond
From Legacy to the Cloud and BeyondDaniel Cerecedo
 
Introducción a Story Mapping & más
Introducción a Story Mapping & másIntroducción a Story Mapping & más
Introducción a Story Mapping & másDaniel Cerecedo
 
IT para Product Managers
IT para Product ManagersIT para Product Managers
IT para Product ManagersDaniel Cerecedo
 
Battelfield REST, API Development from the trenches
Battelfield REST, API Development from the trenchesBattelfield REST, API Development from the trenches
Battelfield REST, API Development from the trenchesDaniel Cerecedo
 

More from Daniel Cerecedo (8)

From Legacy to the Cloud and Beyond
From Legacy to the Cloud and BeyondFrom Legacy to the Cloud and Beyond
From Legacy to the Cloud and Beyond
 
Introducción a Story Mapping & más
Introducción a Story Mapping & másIntroducción a Story Mapping & más
Introducción a Story Mapping & más
 
API Centric Patterns
API Centric PatternsAPI Centric Patterns
API Centric Patterns
 
Todo sobre mis APIs
Todo sobre mis APIsTodo sobre mis APIs
Todo sobre mis APIs
 
Skyrocketing Web APIs
Skyrocketing Web APIsSkyrocketing Web APIs
Skyrocketing Web APIs
 
IT para Product Managers
IT para Product ManagersIT para Product Managers
IT para Product Managers
 
Battelfield REST, API Development from the trenches
Battelfield REST, API Development from the trenchesBattelfield REST, API Development from the trenches
Battelfield REST, API Development from the trenches
 
API Centric
API CentricAPI Centric
API Centric
 

Recently uploaded

ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
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 Scriptwesley chun
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
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?Igalia
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
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.pdfsudhanshuwaghmare1
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
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...apidays
 

Recently uploaded (20)

ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
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
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
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?
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
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
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
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...
 

Drone Continuous Integration

  • 1. Madrid Drone CI Kickstarting your project with Drone Kickstarting your project with Drone
  • 2. AgendaAgenda  What is CI? Differences with Cd & CD  Why should I implement CI?  How to implement CI?  Virtualization & Containerization  Drone  Hands on Drone  Drone vs Jenkins
  • 11. Reduced Cost & Risk Greater Productivity
  • 12. Reduced Cost & Risk Greater Productivity Continuous Improvement
  • 13. Reduced Cost & Risk Greater Productivity Continuous Improvement Team Confidence
  • 14. Reduced Cost & Risk Greater Productivity Continuous Improvement Team Confidence & Reputation
  • 23. Report on build status
  • 27. bins & libs bins & libs bins & libs Guest OS Guest OS Guest OS Hypervisor Host Operating System Hardware APP1 APP2 APP3 Guest OS Guest OS Docker Engine Host Operating System Hardware bins & libs bins & libs bins & libs APP1 APP2 APP3
  • 28. bins & libs bins & libs bins & libs Guest OS Guest OS Guest OS Hypervisor Host Operating System Hardware APP1 APP2 APP3 Guest OS Guest OS Docker Engine Host Operating System Hardware bins & libs bins & libs bins & libs APP1 APP2 APP3
  • 31. Everything is a Docker container
  • 32.
  • 33. Sample 1Sample 1  Understand Drone Login  A glimpse to the Dashboard  Configuring the Drone CLI
  • 34. Sample 2Sample 2  Showcase the sample app  Create a Meetup, a Location and an Event
  • 35. Run some tests Statically analyze code Verify quality gates Build binaries Deploy binaries Build Docker image Deploy container Notify results A typical pipeline
  • 36. Run some tests Statically analyze code Verify quality gates Build binaries Deploy binaries Build Docker image Deploy container Notify results Our sample pipeline
  • 37. Sample 3Sample 3  Activate a repo  Review the simplest Drone pipeline  Generate a trigger via git push  Show build logs  Show how the workspace is mounted in build steps
  • 38. A pipeline is an ordered list of build steps
  • 39. Plugin steps or custom steps
  • 40. The clone step is implicit and is always first
  • 41. A workspace is shared across all steps
  • 42. Sample 4Sample 4  Base pipeline: executing tests with in-memory database  Testing a build
  • 43. Sample 5Sample 5  Using services  The problem with credentials. Managing secrets  Base pipeline: executing tests against a real database
  • 44. Services are dependencies of the build Drone Workspace Git Container Step 1 Container Step N Container DroneEnvironmentVariables DroneSecretVariables Drone Service Container 1 Docker Networking Docker Networking Docker Networking Docker volume mount Docker volume mount Docker volume mount
  • 45. Steps can read Drone envars & Drone secrets Drone Workspace Git Container Step 1 Container Step N Container DroneEnvironmentVariables DroneSecretVariables Drone Service Container 1 Docker Networking Docker Networking Docker Networking Docker volume mount Docker volume mount Docker volume mount
  • 46.  CI=drone  DRONE=true  DRONE_ARCH  DRONE_REPO  DRONE_REPO_OWNER  DRONE_REPO_NAME  DRONE_REPO_SCM  DRONE_REPO_LINK  DRONE_REPO_AVATAR  DRONE_REPO_BRANCH  DRONE_REPO_PRIVATE  DRONE_REPO_TRUSTED  DRONE_REMOTE_URL  DRONE_COMMIT_SHA  DRONE_COMMIT_REF  DRONE_COMMIT_BRANCH  DRONE_COMMIT_LINK  DRONE_COMMIT_MESSAGE  DRONE_COMMIT_AUTHOR  DRONE_COMMIT_AUTHOR_EMAIL  DRONE_COMMIT_AUTHOR_AVATAR  DRONE_BUILD_NUMBER  DRONE_BUILD_EVENT  DRONE_BUILD_STATUS  DRONE_BUILD_LINK  DRONE_BUILD_CREATED  DRONE_BUILD_STARTED  DRONE_BUILD_FINISHED  DRONE_PREV_BUILD_STATUS  DRONE_PREV_BUILD_NUMBER  DRONE_PREV_COMMIT_SHA  DRONE_JOB_NUMBER  DRONE_JOB_STATUS  DRONE_JOB_EXIT_CODE  DRONE_JOB_STARTED  DRONE_JOB_FINISHED  DRONE_YAML_SIGNED  DRONE_YAML_VERIFIED  DRONE_BRANCH  DRONE_COMMIT  DRONE_TAG  DRONE_PULL_REQUEST  DRONE_DEPLOY_TO
  • 47. Sample 6Sample 6  Using plugins  Caching between build steps  Caching between builds  Conditional execution
  • 51.  when:  branch:  include: [ master, release/* ]  exclude: [ release/1.0.0, release/1.1.* ]  event: [push, pull_request, tag, deployment]  status: [ failure, success, changed ]  platform: [ linux/*, windows/amd64 ]  environment: production
  • 52. Sample 7Sample 7  Developing plugins  Structure of a plugin  Building a plugin to check Sonar quality gates
  • 53. Run some tests Statically analyze code Verify quality gates Build binaries Deploy binaries Build Docker image Deploy container Notify results Our sample pipeline
  • 54. Sample 8Sample 8  Sending notifications
  • 56. Drone vs JenkinsDrone vs Jenkins  Developer owned vs Sysadmin owned  Local build testing vs No testing  Container centric vs Supports containers  Extensible plugin model vs Hard to code plugins  Native security vs Ad hoc security  Native matrix builds vs Plugin matrix builds  Trigger upstream/downstream builds via plugin
  • 57.  Containers from scratch - https://ericchiang.github.io/post/containers-from-scratch/  Docker – https://docker.io  Drone documentation – https://readme.drone.io  Drone gitter channel – https://gitter.im/drone/drone  Software costs - https://www.linkedin.com/post/edit/hidden-cost-speed- statically-vs-dynamically-typed-daniel-cerecedo ReferencesReferences
  • 58. ?