要求
拥有公网 IP、域名 (如果你不满足要求,可以尝试在本地使用 Gogs + Drone)
域名 SSL 证书 (目前国内有很多云服务商提供免费证书)
熟悉
Docker以及Docker Compose熟悉
Git基本命令对
CI/CD有一定了解
新建 GitHub 应用
登录 GitHub,在 https://github.com/settings/applications/new 新建一个应用。

接下来查看这个应用的详情,记录 Client ID 和 Client Secret,之后配置 Drone 会用到。
配置 Drone
我们通过使用 Docker Compose 来启动 Drone,编写 docker-compose.yml 文件。
version: '3'services:drone-server:image: drone/drone:1ports:- 443:443- 80:80volumes:- drone-data:/data:rw- ./ssl:/etc/certsrestart: alwaysenvironment:- DRONE_AGENTS_ENABLED=true- DRONE_SERVER_HOST=${DRONE_SERVER_HOST:-https://drone.yeasy.com}- DRONE_SERVER_PROTO=${DRONE_SERVER_PROTO:-https}- DRONE_RPC_SECRET=${DRONE_RPC_SECRET:-secret}- DRONE_GITHUB_SERVER=https://github.com- DRONE_GITHUB_CLIENT_ID=${DRONE_GITHUB_CLIENT_ID}- DRONE_GITHUB_CLIENT_SECRET=${DRONE_GITHUB_CLIENT_SECRET}drone-agent:image: drone/drone-runner-docker:1restart: alwaysdepends_on:- drone-servervolumes:- /var/run/docker.sock:/var/run/docker.sock:rwenvironment:- DRONE_RPC_PROTO=http- DRONE_RPC_HOST=drone-server- DRONE_RPC_SECRET=${DRONE_RPC_SECRET:-secret}- DRONE_RUNNER_NAME=${HOSTNAME:-demo}- DRONE_RUNNER_CAPACITY=2dns: 114.114.114.114volumes:drone-data:
新建 .env 文件,输入变量及其值
# 必填 服务器地址,例如 drone.domain.comDRONE_SERVER_HOST=DRONE_SERVER_PROTO=httpsDRONE_RPC_SECRET=secretHOSTNAME=demo# 必填 在 GitHub 应用页面查看DRONE_GITHUB_CLIENT_ID=# 必填 在 GitHub 应用页面查看DRONE_GITHUB_CLIENT_SECRET=
启动 Drone
$ docker-compose up -d
