SlideShare una empresa de Scribd logo
1 de 23
Descargar para leer sin conexión
Pipelines as Code
facundo.diaz.cobos@bitlogic.io
Agenda
1. Intro
2. Pipelines as Code
3. Demo
4. Resumen
_Intro
Las aplicaciones están cambiando~2000 Hoy
Monolito
Grandes
servidores
Cambios
lentos
Servicios
desacoplados
Nube
Continuous
Delivery
Docker
IaaS
Lenguajes/frame
works modernos
Qué quieren los developers?
● Unit Tests
● Functional Tests
● Performance Tests
● Infrastructure
● Deployment
● Build System
Continuous Delivery Pipeline
Un pipeline de despliegue,
es una secuencia de pasos
automatizados, con el fin
de llevar el código
versionado, en un
entregable a producción.
Imposibilidad de
“Testear”
pipelines.
Configuraciones del
build server (e.g.
plugins)
Malas
Prácticas
Build server sin
control de
configuración
CM - Devs
Pipeline as Code
Es la práctica de definir las tareas de integración
continua, dentro del mismo código de la aplicación.
_Pipelines as Code
Herramientas de CD~2000 Hoy
Hudson
CC: Builds as code
Hudson/Jenkins: Pipelines independientes del código
Travis: Camino a Pipelines as Code
Drone: 100% Pipe as code
Drone
Drone es un sistema de Continuous Delivery usando tecnología de
contenedores. Drone se instala a través de un docker-compose y usa
archivos .YMLs para definir y ejecutar pipelines en contenedores.
Drone - Cómo funciona
● Se integra a un repositorio.
● Examina el archivo “drone.yml”.
● Ejecuta cada Paso dentro de un container.
Drone
● Escrita en GoLang
● Usa Docker para correr el pipeline
● Sistema de plugins flexible usando
imágenes Docker
● Soporta cualquier lenguaje
● Libre de Mantenimiento
Ejemplo: drone.yml
YML
pipeline:
build:
image: bitlogicos/btools
commands:
- govendor sync
- govendor build
publish:
image: plugins/docker
repo: bitlogicos/benchmark
file: Dockerfile
tag:
- latest
secrets: [ docker_username, docker_password ]
run-benchmark:
image: plugins/ssh
user: ubuntu
host: demo.bitlogic.party
port: 22
script:
- sudo docker run --rm bitlogicos/sma-benchmark
secrets: [ SSH_KEY ]
_Demo
_Conclusiones
Beneficios de Pipelines as Code con Drone
● El código para reproducir el pipeline y el build system está
en el mismo repositorio que el código del producto.
● Puedo ejecutar y testear el pipeline en mi maquina.
● Libre de Mantenimiento.
● Fácil de definir, ejecutar y extender.
● 100 % integrado con Docker.
Aún hay más...
● Te obliga a seguir buenas prácticas.
● Los developers tienen el control del build system.
Con PIPELINES AS CODE,
no necesitas hablar con
otras personas...
#FIN ¯_(ツ)_/¯
BITLOGIC.io
We are a software company that
helps its customers innovate at
speed and scale.

Más contenido relacionado

La actualidad más candente

SlickEdit, Historia, Características más relevantes
SlickEdit, Historia, Características más relevantesSlickEdit, Historia, Características más relevantes
SlickEdit, Historia, Características más relevantesKevinZamora32
 
Grails and Continuous delivery
Grails and Continuous deliveryGrails and Continuous delivery
Grails and Continuous deliveryInfo ArtdeCode
 
Probando aplicaciones AngularJS
Probando aplicaciones AngularJSProbando aplicaciones AngularJS
Probando aplicaciones AngularJSRodrigo Pimentel
 
Lenguaje C++
Lenguaje C++Lenguaje C++
Lenguaje C++AlfaBVB98
 
Presentacion de Red5
Presentacion de Red5Presentacion de Red5
Presentacion de Red5pduran
 
Meetup TestingUy 2019 - Plataforma de integración y testing continuo
Meetup TestingUy 2019 - Plataforma de integración y testing continuoMeetup TestingUy 2019 - Plataforma de integración y testing continuo
Meetup TestingUy 2019 - Plataforma de integración y testing continuoTestingUy
 
Microsoft Visual Basic
Microsoft Visual BasicMicrosoft Visual Basic
Microsoft Visual Basicwoker10
 
NetBeans - El único IDE que necesitas
NetBeans - El único IDE que necesitasNetBeans - El único IDE que necesitas
NetBeans - El único IDE que necesitasFelipe Cerda
 
GraalVM - MálagaJUG 2018-11-29
GraalVM - MálagaJUG 2018-11-29GraalVM - MálagaJUG 2018-11-29
GraalVM - MálagaJUG 2018-11-29Jorge Hidalgo
 
Reconocimiento Facial, para Registro de Asistencia
Reconocimiento Facial, para Registro de AsistenciaReconocimiento Facial, para Registro de Asistencia
Reconocimiento Facial, para Registro de AsistenciaAlfredo Carrion Ventura
 
Microsoft Visual Studio Universidad OYM Seccion 0435
Microsoft Visual Studio Universidad OYM Seccion 0435Microsoft Visual Studio Universidad OYM Seccion 0435
Microsoft Visual Studio Universidad OYM Seccion 0435Scarlett Rodriiguez
 

La actualidad más candente (19)

Copilador
CopiladorCopilador
Copilador
 
Jenkins ci + selenium
Jenkins ci + seleniumJenkins ci + selenium
Jenkins ci + selenium
 
SlickEdit, Historia, Características más relevantes
SlickEdit, Historia, Características más relevantesSlickEdit, Historia, Características más relevantes
SlickEdit, Historia, Características más relevantes
 
Compilador
CompiladorCompilador
Compilador
 
Grails and Continuous delivery
Grails and Continuous deliveryGrails and Continuous delivery
Grails and Continuous delivery
 
Probando aplicaciones AngularJS
Probando aplicaciones AngularJSProbando aplicaciones AngularJS
Probando aplicaciones AngularJS
 
Lenguaje C++
Lenguaje C++Lenguaje C++
Lenguaje C++
 
Mono Develop
Mono DevelopMono Develop
Mono Develop
 
red5
red5red5
red5
 
Presentacion de Red5
Presentacion de Red5Presentacion de Red5
Presentacion de Red5
 
Meetup TestingUy 2019 - Plataforma de integración y testing continuo
Meetup TestingUy 2019 - Plataforma de integración y testing continuoMeetup TestingUy 2019 - Plataforma de integración y testing continuo
Meetup TestingUy 2019 - Plataforma de integración y testing continuo
 
Microsoft Visual Basic
Microsoft Visual BasicMicrosoft Visual Basic
Microsoft Visual Basic
 
Pipeline de Integración continua
Pipeline de Integración continuaPipeline de Integración continua
Pipeline de Integración continua
 
Presentacion
PresentacionPresentacion
Presentacion
 
NetBeans - El único IDE que necesitas
NetBeans - El único IDE que necesitasNetBeans - El único IDE que necesitas
NetBeans - El único IDE que necesitas
 
GraalVM - MálagaJUG 2018-11-29
GraalVM - MálagaJUG 2018-11-29GraalVM - MálagaJUG 2018-11-29
GraalVM - MálagaJUG 2018-11-29
 
Reconocimiento Facial, para Registro de Asistencia
Reconocimiento Facial, para Registro de AsistenciaReconocimiento Facial, para Registro de Asistencia
Reconocimiento Facial, para Registro de Asistencia
 
Bea
BeaBea
Bea
 
Microsoft Visual Studio Universidad OYM Seccion 0435
Microsoft Visual Studio Universidad OYM Seccion 0435Microsoft Visual Studio Universidad OYM Seccion 0435
Microsoft Visual Studio Universidad OYM Seccion 0435
 

Similar a Pipelines as code with Drone

BEEVA | Introducción a Docker
BEEVA | Introducción a DockerBEEVA | Introducción a Docker
BEEVA | Introducción a DockerBEEVA_es
 
Automatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWSAutomatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWSAmazon Web Services LATAM
 
Docker para aplicaciones angular
Docker para aplicaciones angularDocker para aplicaciones angular
Docker para aplicaciones angularGermán Küber
 
Desarrollo de Aplicaciones Metro en Windows 8
Desarrollo de Aplicaciones Metro en Windows 8Desarrollo de Aplicaciones Metro en Windows 8
Desarrollo de Aplicaciones Metro en Windows 8Rodolfo Finochietti
 
Mecanismos y patrones para acelerar adopción en arquitecturas de microservicios
Mecanismos y patrones para acelerar adopción en arquitecturas de microserviciosMecanismos y patrones para acelerar adopción en arquitecturas de microservicios
Mecanismos y patrones para acelerar adopción en arquitecturas de microserviciosSoftware Guru
 
Breve introducción práctica al DevOps - (es) 2021_03_18
Breve introducción práctica al DevOps -  (es) 2021_03_18Breve introducción práctica al DevOps -  (es) 2021_03_18
Breve introducción práctica al DevOps - (es) 2021_03_18Young Suk Ahn Park
 
administracion de sistemas de informacion
administracion de sistemas de informacionadministracion de sistemas de informacion
administracion de sistemas de informacionStivenLopez46
 
Técnicas para la Implementación de Desarrollo Continuo en AWS
Técnicas para la Implementación de Desarrollo Continuo en AWSTécnicas para la Implementación de Desarrollo Continuo en AWS
Técnicas para la Implementación de Desarrollo Continuo en AWSAmazon Web Services LATAM
 
¿Cómo poner software de calidad en manos del usuario de forma rápida?
¿Cómo poner software de calidad en manos del usuario de forma rápida?¿Cómo poner software de calidad en manos del usuario de forma rápida?
¿Cómo poner software de calidad en manos del usuario de forma rápida?Micael Gallego
 
Game of pods - Kubernetes
Game of pods - KubernetesGame of pods - Kubernetes
Game of pods - Kubernetesjdezine
 
Herramientas y plugins para el desarrollo de aplicaciones cloud native para K...
Herramientas y plugins para el desarrollo de aplicaciones cloud native para K...Herramientas y plugins para el desarrollo de aplicaciones cloud native para K...
Herramientas y plugins para el desarrollo de aplicaciones cloud native para K...Micael Gallego
 
Estandar documentacion xml
Estandar documentacion xmlEstandar documentacion xml
Estandar documentacion xmlTohui
 
Docker Containers | Talent Week/Team International
Docker Containers | Talent Week/Team InternationalDocker Containers | Talent Week/Team International
Docker Containers | Talent Week/Team InternationalAndrés Londoño
 
Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]
Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]
Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]Keopx
 
Drupal grunt task - Drupal Camp CR 2015
Drupal grunt task  - Drupal Camp CR 2015Drupal grunt task  - Drupal Camp CR 2015
Drupal grunt task - Drupal Camp CR 2015Daniel Noyola
 
Introduccion a SQL Server 2017 en Docker
Introduccion a SQL Server 2017 en Docker Introduccion a SQL Server 2017 en Docker
Introduccion a SQL Server 2017 en Docker Eduardo Castro
 

Similar a Pipelines as code with Drone (20)

BEEVA | Introducción a Docker
BEEVA | Introducción a DockerBEEVA | Introducción a Docker
BEEVA | Introducción a Docker
 
Automatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWSAutomatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWS
 
Docker para aplicaciones angular
Docker para aplicaciones angularDocker para aplicaciones angular
Docker para aplicaciones angular
 
DevOps+[Chef/Docker]
 DevOps+[Chef/Docker] DevOps+[Chef/Docker]
DevOps+[Chef/Docker]
 
ATICA DevOps
ATICA DevOpsATICA DevOps
ATICA DevOps
 
Kubernetes para developers
Kubernetes para developersKubernetes para developers
Kubernetes para developers
 
Desarrollo de Aplicaciones Metro en Windows 8
Desarrollo de Aplicaciones Metro en Windows 8Desarrollo de Aplicaciones Metro en Windows 8
Desarrollo de Aplicaciones Metro en Windows 8
 
Atica Dev Ops II
Atica Dev Ops IIAtica Dev Ops II
Atica Dev Ops II
 
Mecanismos y patrones para acelerar adopción en arquitecturas de microservicios
Mecanismos y patrones para acelerar adopción en arquitecturas de microserviciosMecanismos y patrones para acelerar adopción en arquitecturas de microservicios
Mecanismos y patrones para acelerar adopción en arquitecturas de microservicios
 
Breve introducción práctica al DevOps - (es) 2021_03_18
Breve introducción práctica al DevOps -  (es) 2021_03_18Breve introducción práctica al DevOps -  (es) 2021_03_18
Breve introducción práctica al DevOps - (es) 2021_03_18
 
administracion de sistemas de informacion
administracion de sistemas de informacionadministracion de sistemas de informacion
administracion de sistemas de informacion
 
Técnicas para la Implementación de Desarrollo Continuo en AWS
Técnicas para la Implementación de Desarrollo Continuo en AWSTécnicas para la Implementación de Desarrollo Continuo en AWS
Técnicas para la Implementación de Desarrollo Continuo en AWS
 
¿Cómo poner software de calidad en manos del usuario de forma rápida?
¿Cómo poner software de calidad en manos del usuario de forma rápida?¿Cómo poner software de calidad en manos del usuario de forma rápida?
¿Cómo poner software de calidad en manos del usuario de forma rápida?
 
Game of pods - Kubernetes
Game of pods - KubernetesGame of pods - Kubernetes
Game of pods - Kubernetes
 
Herramientas y plugins para el desarrollo de aplicaciones cloud native para K...
Herramientas y plugins para el desarrollo de aplicaciones cloud native para K...Herramientas y plugins para el desarrollo de aplicaciones cloud native para K...
Herramientas y plugins para el desarrollo de aplicaciones cloud native para K...
 
Estandar documentacion xml
Estandar documentacion xmlEstandar documentacion xml
Estandar documentacion xml
 
Docker Containers | Talent Week/Team International
Docker Containers | Talent Week/Team InternationalDocker Containers | Talent Week/Team International
Docker Containers | Talent Week/Team International
 
Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]
Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]
Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]
 
Drupal grunt task - Drupal Camp CR 2015
Drupal grunt task  - Drupal Camp CR 2015Drupal grunt task  - Drupal Camp CR 2015
Drupal grunt task - Drupal Camp CR 2015
 
Introduccion a SQL Server 2017 en Docker
Introduccion a SQL Server 2017 en Docker Introduccion a SQL Server 2017 en Docker
Introduccion a SQL Server 2017 en Docker
 

Pipelines as code with Drone