使用 Docker 快速構建 Drone

填入我們上一回寫的 id 和key

.env

code
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

code
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 啟動後可以發現被導向認證畫面