Drone 原生就支持docker的CI,所有编译、测试的流程都在 Docker 容器中进行。
环境
镜像
容器
Step 1,准备
- Gitea中创建一个OAuth应用
- 创建一个共享密钥
Step 2,获取镜像
1
| docker pull drone/drone:latest
|
Step 3,配置
DRONE_GITEA_SERVER
, Gitea的主机地址(域名)
DRONE_GITEA_CLIENT_ID
, Gitea生成OAuth的Client ID
DRONE_GITEA_CLIENT_SECRET
, Gitea生成OAuth的Client Secret
DRONE_RPC_SECRET
, 生成的共享密钥
DRONE_SERVER_HOST
, Drone的主机地址(域名,含端口部分)
DRONE_SERVER_PROTO
, Drone的服务器协议(HTTP/HTTPs)
Step 4,安装Runner
另外详解
Step 5,启动
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| docker run \ --volume=/var/lib/drone:/data \ --env=DRONE_GITEA_SERVER={{DRONE_GITEA_SERVER}} \ --env=DRONE_GITEA_CLIENT_ID={{DRONE_GITEA_CLIENT_ID}} \ --env=DRONE_GITEA_CLIENT_SECRET={{DRONE_GITEA_CLIENT_SECRET}} \ --env=DRONE_RPC_SECRET={{DRONE_RPC_SECRET}} \ --env=DRONE_SERVER_HOST={{DRONE_SERVER_HOST}} \ --env=DRONE_SERVER_PROTO={{DRONE_SERVER_PROTO}} \ --publish=80:80 \ --publish=443:443 \ --restart=always \ --detach=true \ --name=drone \ drone/drone:1
|