yamlkind: pipeline
type: docker
steps:
- name: build
image: maven:3-jdk-17
commands: [mvn package]
仅需10行配置即可完成Java应用编译,支持Git仓库版本化管理构建脚本。
settings模块安全集成敏感信息:yaml- name: deploy
image: appleboy/drone-ssh
settings:
host: 192.168.1.10
password: { from_secret: ssh_pwd }

bash# 创建数据持久化目录
mkdir -p /mydata/drone/{server,runner}
yamlversion: '3'
services:
drone:
image: drone/drone:2
container_name: drone
privileged: true
environment:
- DRONE_AGENTS_ENABLED=true
- DRONE_GOGS_SERVER=http://192.168.31.1:3000
- DRONE_RPC_SECRET=drone
- DRONE_SERVER_HOST=192.168.31.1:10020
- DRONE_SERVER_PROTO=http
- DRONE_USER_CREATE=username:drone,admin:true
- TZ=Asia/Shanghai
volumes:
- /mydata/drone/server:/data
ports:
- "10020:80"
restart: always
runner-docker:
image: drone/drone-runner-docker:1
container_name: runner-docker
privileged: true
environment:
- DRONE_RPC_PROTO=http
- DRONE_RPC_HOST=192.168.31.1:10020
- DRONE_RPC_SECRET=drone
- DRONE_RUNNER_CAPACITY=2
- DRONE_RUNNER_NAME=runner-docker
- TZ=Asia/Shanghai
volumes:
- /var/run/docker.sock:/var/run/docker.sock
ports:
- "3030:3000"
restart: always
bash# 在Gogs创建OAuth2应用
[回调地址]https://drone.example.com/authorize
yaml# 签名验证配置示例
kind: signature
hmac: e3df5a32b56d43b2...
| 维度 | Drone | Jenkins |
|---|---|---|
| 架构模式 | 微服务架构 | 单体架构 |
| 资源消耗 | ≤512MB内存 | ≥2GB内存 |
| 配置方式 | YAML声明式 | GUI/脚本混合式 |
| 扩展能力 | 标准化插件 | 海量非标插件 |
| 学习曲线 | 1天快速上手 | 1周基础掌握 |
Drone凭借其容器原生、声明式配置等特性,已成为云原生时代CI/CD领域的新锐选择。随着GitOps模式的普及,Drone与Argo CD等工具的深度整合将进一步提升交付流水线的智能化水平。对于追求快速交付和云环境适配的团队,Drone无疑是值得投入的技术方向。
全文约1950字,完整覆盖核心功能、部署实践和进阶用法,可根据实际需求调整技术细节的展开深度。建议配合官方文档(https://drone.cool/)作为延伸阅读参考。
参考:
本文作者:烧山
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!