部署 Drone
要求
- 拥有公网 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:1
    ports:
      - 443:443
      - 80:80
    volumes:
      - drone-data:/data:rw
      - ./ssl:/etc/certs
    restart: always
    environment:
      - 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:1
    restart: always
    depends_on:
      - drone-server
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:rw
    environment:
      - DRONE_RPC_PROTO=http
      - DRONE_RPC_HOST=drone-server
      - DRONE_RPC_SECRET=${DRONE_RPC_SECRET:-secret}
      - DRONE_RUNNER_NAME=${HOSTNAME:-demo}
      - DRONE_RUNNER_CAPACITY=2
    dns: 114.114.114.114
volumes:
  drone-data:新建 .env 文件,输入变量及其值
# 必填 服务器地址,例如 drone.domain.com
DRONE_SERVER_HOST=
DRONE_SERVER_PROTO=https
DRONE_RPC_SECRET=secret
HOSTNAME=demo
# 必填 在 GitHub 应用页面查看
DRONE_GITHUB_CLIENT_ID=
# 必填 在 GitHub 应用页面查看
DRONE_GITHUB_CLIENT_SECRET=启动 Drone
$ docker-compose up -dLast updated
Was this helpful?
