Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Drone - OSS CI Platform in a nutshell 5min

Drone - OSS CI Platform in a nutshell 5min

OSS Version of drone.io

Kazuki Hamasaki

November 13, 2016
Tweet

More Decks by Kazuki Hamasaki

Other Decks in Programming

Transcript

  1. Drone is OSS version of drone.io • Your private Continuous

    Integration service like Travis CI, CircleCI • Integrated with your private repository GitHub Enterprise, GitLab, Bitbucket… • When push the code, drone runs build & tests. Merge Protection 5FTU3FTVMUT
  2. Why not Jenkins? • Jenkins needs a “Meister” • Jenkins

    slave is getting dirty for adding compilers and libraries, sharing the env with other test. If isolate, build VM for each you need it. • Drone creates clean env with docker container on each tests. • Jenkins created complex build pipeline • Drone’s configurations are written on yaml
  3. .drone.yml - all your settings pipeline: build: image: golang commands:

    - go get - go build - go test deploy: image: heroku app: foo.com notify: image: slack when: status: [ success, failure ] services: database: image: postgres Data store Notification Deploy Build & Test Set your docker image
  4. Comparison with others • Any docker images can be use

    for drone • any distribution, any datastore with docker compose like syntax • Private and Unlimited Tests • Your private node provides unlimited tests without wait time. • Test container can mount host volumes and devices • Linux Support only • At the moment docker only supports Linux (and Windows) container. • Travis supports macOS, Circle CI supports android.
  5. Active Developments • v0.5 (Next Release) • docker agent (easier

    to scale) • v0.4 • Matrix Builds • Docker Compose like syntax • Privileged docker container Current Development has many breaking changes!
  6. References • drone.io: https://drone.io/ • Repository: https://github.com/drone/drone • Documentation •

    v0.4: http://readme.drone.io/usage/overview/ • v0.5: http://readme.drone.io/0.5/