0%

安装与配置 Gitea + Drone

创建目录与配置文件

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: 共享密钥,通过下面指令创建

1
$openssl rand -hex 16

DRONE_GITEA_SERVER: GITEA服务器地址

DRONE_SERVER_HOST: Drone服务器Host

DRONE_SERVER_PROTO: 服务器协议,推荐都启用HTTPS

DRONE_USER_CREATE: 初始化管理员权限,不设置的情况,用户通过gitea登录授权后,是普通用户权限。如果需要通过DRONE-CLI进行管理。需要设置这个。

GITEA创建应用

img

重定向URI填上

1
https://{DRONE_HOST}/login

nginx配置drone对外访问

1
2
3
4
5
server {
listen 443 ssl;
# ssl ...
proxy_pass http://127.0.0.1:3100;
}

通过nginx配置反向代理对外访问

运行

1
docker-compose up -d

结束清理时只需 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页面后,看个人信息页面里面有

image-20191207195911881