Drone workshop

Drone workshop

Óscar García Amor

https://ogarcia.me/

¿Cómo se define Drone?

Drone es una plataforma de Entrega Continua (Continuous Delivery) que automatiza tus flujos de trabajo desde las pruebas a la puesta en producción.

Drone workshop

Óscar García Amor

https://ogarcia.me/

Un poco de historia

  • 2012: Nace el proyecto de manos de Brad Rydzewski y Thomas Burke.
  • 2014: El 7 de febrero el proyecto pasa a código abierto con licencia Apache y se realiza el primer commit al repositorio.
  • 2018: Actualmente tienen mas de 3200 commits.

Drone workshop

Óscar García Amor

https://ogarcia.me/

¿Qué es realmente Drone?

Drone es un sistema que permite automatizar todos los procesos de CD/CI por medio de la definición de un flujo de trabajo (pipeline) con la principal particularidad de que cada paso de dicho flujo puede ser ejecutado en su propio contenedor de Docker.

Drone workshop

Óscar García Amor

https://ogarcia.me/

¿De que se compone?

Drone workshop

Óscar García Amor

https://ogarcia.me/

La arquitectura de Drone es muy sencilla:

  • Un servidor
  • Un número indeterminado de agentes. De 1 a N.

¿A que se conecta?

Drone workshop

Óscar García Amor

https://ogarcia.me/

Drone puede trabajar con los siguientes servidores de repositorio:

  • GitHub (En cualquiera de sus versiones)
  • GitLab
  • Gogs / Gitea
  • Bitbucket
  • Bitbucket Server (Experimental)
  • Coding (made in China)

¿Cómo se usa?

Drone workshop

Óscar García Amor

https://ogarcia.me/

.drone.yml

Drone workshop

Óscar García Amor

https://ogarcia.me/

pipeline:
  frontend:
    image: node
    commands:
      - npm install
      - npm test
  backend:
    image: golang
    commands:
      - go test -v
      - go install

services:
  database:
    image: mysql

.drone.yml

Drone workshop

Óscar García Amor

https://ogarcia.me/

pipeline:
  hola-drone:
    image: alpine
    commands:
      - echo "Hola drone"

¡Veamos cómo funciona!

Drone workshop

Óscar García Amor

https://ogarcia.me/

Conclusiones

Drone workshop

Óscar García Amor

https://ogarcia.me/

Drone me mola porque...

Drone workshop

Óscar García Amor

https://ogarcia.me/

  • Es muy sencillo de utilizar
  • Cada paso del flujo de trabajo se ejecuta de manera controlada.
  • Los pasos son reproducibles siempre.
  • Usa Docker y... ¡Docker mola! 😄
  • Ocupa francamente poco. La imagen de Drone son 30MB, la del agente 14MB y en memoria solo ocupa 20 MB el servicio y 10MB el agente.

Pero no me mola porque...

Drone workshop

Óscar García Amor

https://ogarcia.me/

  • Al ser tan sencillo es posible que algunos flujos no se puedan realizar.
  • No se dispone de una versión gratuita en la nube al estilo de Travis o CircleCI.
  • Usa Docker y... ¡Docker no mola! 😄😄😄😄

¿Preguntas?

Drone workshop

Óscar García Amor

https://ogarcia.me/

¡Gracias!

Drone workshop

Óscar García Amor

https://ogarcia.me/

Drone workshop

By Óscar García Amor

Drone workshop

Drone es una plataforma de Entrega Continua (Continuous Delivery) que automatiza tus flujos de trabajo desde las pruebas a la puesta en producción.

  • 95