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

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
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 WorkerThousandEyes
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 

Recently uploaded (20)

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
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
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 

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. ?