安装 Drone(github,其他参考官网)

  1. 创建OAuth程序,并通过keySecret授权访问github资源。

请参考下面的格式填写Authorization callback URL

  1. 创建共享秘钥

用于验证runnersDrone之间的通信

1
openssl rand -hex 16
  1. 下载Drone
1
docker pull drone/drone:2
  1. 配置

本文只包括简单配置,完整配置

  • DRONE_GITHUB_CLIENT_ID

步骤1在github生成的Client ID

  • DRONE_GITHUB_CLIENT_SECRET

步骤1在github生成的Client secrets

  • DRONE_RPC_SECRET

步骤2生成的秘钥

  • DRONE_SERVER_HOST

服务器的地址,可以包含端口。例如:drone.company.com

  • DRONE_SERVER_PROTO

服务器协议。http 或者 https

  • DRONE_USER_CREATE

设置初始管理员。格式参考:username:{管理员账号},admin:true

  1. 启动服务器

通过以下命令启动服务器

1
2
3
4
5
6
7
8
9
10
11
12
13
14
docker run \
--volume=/var/lib/drone:/data \
--env=DRONE_GITHUB_CLIENT_ID={{DRONE_GITHUB_CLIENT_ID}} \
--env=DRONE_GITHUB_CLIENT_SECRET={{DRONE_GITHUB_CLIENT_SECRET}} \
--env=DRONE_RPC_SECRET={{DRONE_RPC_SECRET}} \
--env=DRONE_SERVER_HOST={{DRONE_SERVER_HOST}} \
--env=DRONE_SERVER_PROTO={{DRONE_SERVER_PROTO}} \
--env=DRONE_USER_CREATE=username:{管理员账号},admin:true \
--publish=80:80 \
--publish=443:443 \
--restart=always \
--detach=true \
--name=drone \
drone/drone:2

更多参考drone官网

安装drone-runner(docker runner,其他参考官网)

  1. 下载drone-runner
1
docker pull drone/drone-runner-docker:1
  1. 配置

本文只包括简单配置,[完整配置](https://docs.drone.io/runner/docker/configuration/reference/)。

  • DRONE_RPC_HOST

Drone服务器的地址,可以包含端口。

  • DRONE_RPC_PROTO

Drone服务器协议。http 或者 https

  • DRONE_RPC_SECRET

安装drone时填写的秘钥

  1. 启动drone-runner

通过以下命令启动drone-runner

1
2
3
4
5
6
7
8
9
10
11
docker run --detach \
--volume=/var/run/docker.sock:/var/run/docker.sock \
--env=DRONE_RPC_PROTO=https \
--env=DRONE_RPC_HOST=drone.company.com \
--env=DRONE_RPC_SECRET=super-duper-secret \
--env=DRONE_RUNNER_CAPACITY=2 \
--env=DRONE_RUNNER_NAME=my-first-runner \
--publish=3000:3000 \
--restart=always \
--name=runner \
drone/drone-runner-docker:1
  1. 验证

使用命令查看日志并验证drone-runner成功与drone建立了连接。

1
2
3
4
5
docker logs runner

INFO[0000] starting the server
INFO[0000] successfully pinged the remote server