Drone CI/CD 安装
安装 Drone(github,其他参考官网)
- 创建OAuth程序,并通过
key
和Secret
授权访问github资源。
请参考下面的格式填写Authorization callback URL
- 创建共享秘钥
用于验证runners
和Drone
之间的通信
openssl rand -hex 16
- 下载Drone
docker pull drone/drone:2
- 配置
本文只包括简单配置,完整配置。
- 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
- 启动服务器
通过以下命令启动服务器
docker run \
--volume=/var/lib/drone:/data \
--env=DRONE_GITHUB_CLIENT_ID= \
--env=DRONE_GITHUB_CLIENT_SECRET= \
--env=DRONE_RPC_SECRET= \
--env=DRONE_SERVER_HOST= \
--env=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,其他参考官网)
- 下载drone-runner
docker pull drone/drone-runner-docker:1
- 配置
本文只包括简单配置,[完整配置](https://docs.drone.io/runner/docker/configuration/reference/)。
- DRONE_RPC_HOST
Drone服务器的地址,可以包含端口。
- DRONE_RPC_PROTO
Drone服务器协议。http
或者 https
- DRONE_RPC_SECRET
安装drone时填写的秘钥
- 启动drone-runner
通过以下命令启动drone-runner
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
- 验证
使用命令查看日志并验证drone-runner
成功与drone
建立了连接。
docker logs runner
INFO[0000] starting the server
INFO[0000] successfully pinged the remote server