# 使用 Docker 快速構建 Drone
填入我們上一回寫的 id 和key

# .env
```
DRONE_SERVER_HOST=172.24.229.236:8090
DRONE_SERVER_PROTO=http
DRONE_GITLAB_CLIENT_ID=b59ab915725beaa7332cbf93fc0c0a15f11332b6d6d2fa2bfd2d6f71c29eeac2
DRONE_GITLAB_CLIENT_SECRET=639fb3fced7d0f9f1d70021116b4537ade9c7bb00ad9b58ca2e1424b6f4c1816
GITLAB_SERVER=172.24.229.236
```
# docker-compose.yml
```yml
version: '2'
services:
### Drone Setting
drone-server:
image: drone/drone:1
container_name: drone-server
ports:
- 8090:80
extra_hosts:
- "activate.adobe.com:172.24.229.236"
volumes:
- ./:/data
- /var/run/docker.sock:/var/run/docker.sock
restart: always
environment:
- DRONE_SERVER_HOST=${DRONE_SERVER_HOST} # Drone URL
- DRONE_SERVER_PROTO=${DRONE_SERVER_PROTO} # http 或者 https 連線設定
- DRONE_TLS_AUTOCERT=false # 自動生成 ssl 證書,並接受 https 連線,末認為false
- DRONE_RUNNER_CAPACITY=3 # 表示一次可執行 n 個 job
- DRONE_GIT_ALWAYS_AUTH=false # Drone clone 時,是否每次都驗證
- DRONE_USER_FILTER=root # 可操作 Drone 的用戶清單
- DRONE_USER_CREATE=username:root:true # 可選擇特定帳號為使用者權限
# GitLab Config
- DRONE_GITLAB_CLIENT_ID=${DRONE_GITLAB_CLIENT_ID} # OAuth 的 Application ID
- DRONE_GITLAB_CLIENT_SECRET=${DRONE_GITLAB_CLIENT_SECRET} # OAuth 的 Secret
- DRONE_GITLAB_SERVER=http://${GITLAB_SERVER}:10080 # Gitlab Server
- DRONE_LOGS_DEBUG=true # 選擇是否開啟 debug 模式
# - DRONE_LOGS_PRETTY=true # Log 是否以json方式呈現
- DRONE_LOGS_COLOR=true # Log 啟用顏色辨識
- DRONE_AGENTS_DISABLED=true
drone-agent:
image: drone/agent:1
container_name: drone-agent
restart: always
depends_on:
- drone-server
volumes:
- /var/run/docker.sock:/var/run/docker.sock
environment:
- DRONE_RPC_SERVER=${DRONE_SERVER_HOST}
- DRONE_RPC_SECRET=${DRONE_RPC_SECRET}
- DRONE_RUNNER_CAPACITY=3
- DRONE_LOGS_DEBUG=true
```
docker-comopse 啟動後可以發現被導向認證畫面

