環境
註冊應用程式
首先到 GitHub 的 Developer settings 頁面建立一個 OAuth 應用程式,輸入以下設定:
儲存後,獲得一組 Client ID 和 Client Secret。
部署應用程式
打開終端機,建立一個 Drone 的 server 和 agent 共享的 secret。
在伺服器上建立一個 Drone 的工作目錄。
建立 docker-compose.yml 檔:
| 12
 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
 
 | version: "3.5"
 services:
 drone-server:
 image: drone/drone:1
 ports:
 - 8000:80
 volumes:
 - ./data:/data
 restart: always
 environment:
 - DRONE_SERVER_HOST=${DRONE_SERVER_HOST}
 - DRONE_SERVER_PROTO=${DRONE_SERVER_PROTO}
 - DRONE_GITHUB_CLIENT_ID=${DRONE_GITHUB_CLIENT_ID}
 - DRONE_GITHUB_CLIENT_SECRET=${DRONE_GITHUB_CLIENT_SECRET}
 - DRONE_RPC_SECRET=${DRONE_RPC_SECRET}
 - DRONE_LOGS_COLOR=true
 - DRONE_LOGS_PRETTY=true
 
 drone-agent:
 image: drone/drone-runner-docker:1
 volumes:
 - /var/run/docker.sock:/var/run/docker.sock
 restart: always
 depends_on:
 - drone-server
 environment:
 - DRONE_RPC_HOST=${DRONE_RPC_HOST}
 - DRONE_RPC_PROTO=${DRONE_RPC_PROTO}
 - DRONE_RPC_SECRET=${DRONE_RPC_SECRET}
 
 | 
建立 .env 檔:
| 12
 3
 4
 5
 6
 7
 
 | DRONE_SERVER_HOST=drone.domain.comDRONE_SERVER_PROTO=https
 DRONE_GITHUB_CLIENT_ID=xxxxx
 DRONE_GITHUB_CLIENT_SECRET=xxxxx
 DRONE_RPC_HOST=drone-server
 DRONE_RPC_PROTO=http
 DRONE_RPC_SECRET=xxxxx
 
 | 
建立 .gitignore 檔:
啟動 Drone 服務:
前往 https://drone.domain.com 瀏覽。
環境變數
程式碼
參考資料