创建目录与配置文件
1 2 3
| drone |-- data |-- docker-compose.yml
|
data目录是drone的数据目录,通过volumes映射
docker-compose编排容器参数
docker-compose配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| version: '3'
services: drone-server: image: drone/drone:latest container_name: drone-server ports: - 127.0.0.1:3100:80 volumes: - ./data:/data restart: always environment: - DRONE_AGENTS_ENABLED=true - DRONE_GITEA_CLIENT_ID={GITEA_CLIENT_ID} - DRONE_GITEA_CLIENT_SECRET={GITEA_SECRET} - DRONE_GITEA_SERVER={GITEA_HOST} - DRONE_RPC_SECRET={SHARE_SECRET} - DRONE_SERVER_HOST={DRONE_HOST} - DRONE_SERVER_PROTO=https - DRONE_USER_CREATE=username:xxxuser,admin:true drone-agent: image: drone/agent:latest container_name: drone-agent restart: always volumes: - /var/run/docker.sock:/var/run/docker.sock environment: - DRONE_RPC_SERVER=https://{DRONE_HOST} - DRONE_RPC_SECRET={SHARE_SECRET} - DRONE_RUNNER_CAPACITY=2 - DRONE_RUNNER_NAME=drone-runner
|
DRONE_GITEA_CLIENT_ID, DRONE_GITEA_CLIENT_SECRET: 通过GITEA中创建的应用的ID与密钥
DRONE_RPC_SECRET: 共享密钥,通过下面指令创建
DRONE_GITEA_SERVER: GITEA服务器地址
DRONE_SERVER_HOST: Drone服务器Host
DRONE_SERVER_PROTO: 服务器协议,推荐都启用HTTPS
DRONE_USER_CREATE: 初始化管理员权限,不设置的情况,用户通过gitea登录授权后,是普通用户权限。如果需要通过DRONE-CLI进行管理。需要设置这个。
GITEA创建应用
重定向URI填上
1
| https://{DRONE_HOST}/login
|
nginx配置drone对外访问
1 2 3 4 5
| server { listen 443 ssl; proxy_pass http://127.0.0.1:3100; }
|
通过nginx配置反向代理对外访问
运行
结束清理时只需 docker-compose down 则可
配置drone-cli (客户端mac)
1 2 3 4 5 6 7 8
| $brew install drone-cli # 设置drone验证 $export DRONE_SERVER={DRONE_HOSE} $export DRONE_TOKEN={TOKEN} # 查看drone信息,Everything is ok! $drone info User: xxxuser Email: [email protected]
|
DRONE_TOKEN 在登录drone页面后,看个人信息页面里面有