Ubuntu 环境下安装Drone
1.docker-compose.yml 安装
version: '3' # 使用 Docker Compose 文件版本 3
services:
drone-server: # 定义名为 drone-server 的服务
restart: always # 总是在容器退出时重新启动
image: drone/drone:2 # 使用 drone/drone:2 镜像作为服务的基础镜像
ports:
- "80:80" # 将容器的 80 端口映射到宿主机的 80 端口
volumes:
- /home/drone/:/var/lib/drone/ # 将宿主机的 /home/drone/ 目录挂载到容器的 /var/lib/drone/ 目录
- /home/data/:/data/ # 将宿主机的 /home/data/ 目录挂载到容器的 /data/ 目录
environment: # 设置容器的环境变量
- DRONE_GITEA_SERVER=http://10.7.127.154:3001/ # 指定 Gitea 服务器地址
- DRONE_GITEA_CLIENT_ID=d4ff689a-5998-4a15-8f79-0fa9e1f4ac92 # 指定 Gitea OAuth2 客户端 ID
- DRONE_GITEA_CLIENT_SECRET=5B8JLEPfh31jrLuDjeQUNu9B6HTpp28qiQDsmFiXtQO5 # 指定 Gitea OAuth2 客户端密钥
- DRONE_SERVER_HOST=10.7.127.154:80 # 指定 Drone 服务器的主机名或 IP 地址
- DRONE_SERVER_PROTO=http # 指定 Drone 服务器使用的协议
- DRONE_RPC_SECRET=afc780decf93ca9396af1b9c5ba18aa1 # 指定 Drone 与 runner 通信的密钥
- DRONE_GIT_ALWAYS_AUTH=true # 指定 Git 仓库是否总是需要认证
- DRONE_GIT_USERNAME=demo # 指定用于与 Git 仓库通信的用户名
- DRONE_GIT_PASSWORD=74d8f202b62be8f91d8cab57d4f8ae476f863a9b # 指定用于与 Git 仓库通信的密码
- DRONE_USER_CREATE=username:root,admin:true # 开启管理员账户
drone-runner-docker: # 定义名为 drone-runner-docker 的服务
restart: always # 总是在容器退出时重新启动
image: drone/drone-runner-docker:1 # 使用 drone/drone-runner-docker:1 镜像作为服务的基础镜像
ports:
- "3000:3000" # 将容器的 3000 端口映射到宿主机的 3000 端口
volumes:
- /var/run/docker.sock:/var/run/docker.sock # 将宿主机的 Docker socket 挂载到容器内
environment: # 设置容器的环境变量
- DRONE_RPC_PROTO=http # 指定 Drone 与 runner 通信使用的协议
- DRONE_RPC_HOST=10.7.127.154:80 # 指定 Drone 服务器的主机名或 IP 地址
- DRONE_RPC_SECRET=afc780decf93ca9396af1b9c5ba18aa1 # 指定 Drone 与 runner 通信的密钥
- DRONE_RUNNER_NAME=drone-runner-docker # 指定 Drone runner 的名称
- DRONE_RUNNER_CAPACITY=2 # 指定 Drone runner 的并发处理能力
2.获取gitea授权信息
1.在gitea个人中心->设置->应用中创建AccessToken 以及Oauth2应用
2.保存好令牌及 令牌码


- DRONE_GITEA_CLIENT_ID=gitea生成的OAuth2客户端ID
- DRONE_GITEA_CLIENT_SECRET=gitea生成的OAuth2客户端密钥
- DRONE_GIT_USERNAME=令牌名称
- DRONE_GIT_PASSWORD=令牌秘钥3.生成Drone与runner通信密钥,并替换上面docker-compose.yml对应的字段
openssl rand -hex 16
afc780decf93ca9396af1b9c5ba18aa14.运行yml文件
docker-compose up -d5.访问drone地址


若授权失败,检查访问地址以及令牌和Auth2