0%

Drone的部署与配置

Drone 原生就支持docker的CI,所有编译、测试的流程都在 Docker 容器中进行。

环境

  • Debian + Docker

镜像

容器

Step 1,准备

  • Gitea中创建一个OAuth应用
  • 创建一个共享密钥
1
openssl rand -hex 16

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