Bo-Yi Wu
2018.01.17
 Why I don’t choose Jenkins or GitLab CI?
 What is Drone CI?
 Drone Infrastructure
 How to install Drone in five minutes?
 Integrate your project
 Create your Drone plugin
 Try drone cli without drone server
 Mediatek Engineer
 DevOps
 Golang, PHP, Node.js ..
 Some open source
 Gitea
 Gin
 Drone
 appleboy @GitHub
 appleboy @twitter
 appleboy @slideshare
 appleboy46 @facebook
3
Jenkins Drone GitLab CI
1. Complicated project setting
2. Version control project setting
3. Write the plugin (Java language)
4. Maintenance?
5. Learning Curve?
6. Grow your team?
http://bit.ly/devops-tool
Only two concerns
Control your remote server
https://florianbrinkmann.com/en/3473/deployment-gitlab-ci/
https://github.com/appleboy/drone-ssh
Continuous Delivery system built on
container technology
https://github.com/drone/drone
Git Clone
Testing
Package
Deploy
Notify
Change this config in
Server
agent
agent
agent
Database
Drone
Docker Docker
Drone Agent
Database
Drone Server
Drone Server
Docker Docker
Drone
Database
Drone Agent
https://github.com/go-training/drone-tutorial
docker pull drone/drone:0.8
docker pull drone/agent:0.8
Setup drone server and agent
Introduction to drone dashboard
Enable or disable your project
Configuring the drone cli tool
https://labs.play-with-docker.com/
docker-compose up drone-agent
Drone Workspace
Clone Build Deploy
Drone Workspace
Clone Build Deploy
Git Test Release Docker Discord
 Go testing
 Verify Quality
 Build Binary
 Deploy Binary
 Build Image
 Deploy Container
 Send Notification
Drone CLI or Web Console
Plugin Image
vendor, node_modules
Drone Workspace
Clone Build Deploy
RebuildRestore
Storage
Volume or SFTP cache
[skip cache] or [cache skip]
Only for SFTP cache
Whether you prefer language
PHP, Ruby, Bash, Go, Python …
Program with your
language
Build Docker Image
Upload to Docker Hub
Testing your plugin
ARG
ARG
ARG
Prefix PLUGIN_
drone exec
https://github.com/appleboy/drone-on-kubernetes
https://www.udemy.com/devops-oneday/?couponCode=DRONE-DEVOPS
drone continuous Integration

drone continuous Integration