服務器資訊

droneci server 192.168.1.10

droneci runner 192.168.1.17 

gitlab設定新增一組application

把applicaton ID和Secret記錄起來 

Callback URL是droneCi的網址

 

server佈署腳本需照自已的設定修改

docker-compose.yml

services:
  drone-server:
    container_name: drone-server
    image: drone/drone:latest
    ports:
      - 8081:80
    volumes:
      - ./:/data
    restart: always
    environment:
      - DRONE_SERVER_HOST=${DRONE_SERVER_HOST}
      - DRONE_SERVER_PROTO=${DRONE_SERVER_PROTO}
      - DRONE_RPC_SECRET=${DRONE_RPC_SECRET}
      #開啟runner
      - DRONE_AGENTS_ENABLED=true
      #關閉runner(單機模式)
      #- DRONE_AGENTS_DISABLED=true
      #- DRONE_RUNNER_CAPACITY=3
      # 開啟日誌
      - DRONE_LOGS_TRACE=true
      # Drone 與 GitHub 和 GitLab 一起使用,您需要運行兩個 Drone 服務器實例
      ### Gitlab Config 
      - DRONE_GITLAB_SERVER=https://gitlab.itnotetk.com
      - DRONE_GITLAB_CLIENT_ID=${DRONE_GITLAB_CLIENT_ID}
      - DRONE_GITLAB_CLIENT_SECRET=${DRONE_GITLAB_CLIENT_SECRET}
      - DRONE_LOGS_PRETTY=true
      # 開啟log區分顏色
      - DRONE_LOGS_COLOR=true
      # 開啟debug mod
      #- DRONE_DEBUG=true
      ### Gitea
      #- DRONE_GITEA_CLIENT_ID
      #- DRONE_GITEA_CLIENT_SECRET
      ### GitHub Config
      #- DRONE_GITHUB_SERVER=https://github.com
      #- DRONE_GITHUB_CLIENT_ID=${DRONE_GITHUB_CLIENT_ID}
      #- DRONE_GITHUB_CLIENT_SECRET=${DRONE_GITHUB_CLIENT_SECRET}
      #- DRONE_LOGS_PRETTY=true
      #- DRONE_LOGS_COLOR=true
      ### BITBUCKET Config
      #- DRONE_BITBUCKET_CLIENT_ID=<你的OAuth ID> # OAuth 的 Application ID
      #- DRONE_BITBUCKET_CLIENT_SECRET=<你的 OAuth Secret> # OAuth 的 Secret

  drone-agent:
    container_name: drone-agent
    image: drone/agent:latest
    restart: always
    depends_on:
      - drone-server
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - DRONE_RPC_SERVER=http://drone-server
      - DRONE_RPC_SECRET=${DRONE_RPC_SECRET}
      - DRONE_RUNNER_CAPACITY=3
      - DRONE_LOGS_TRACE=true
  drone-runner:
    container_name: drone-runner
    image: drone/drone-runner-docker:latest
    restart: always
    depends_on:
      - drone-server
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - DRONE_RPC_PROTO=http
      # 如果直接使用本配置,这儿不需要改,如果部署到其他服务器,需要填server的域名
      - DRONE_RPC_HOST=drone-server
      # server配置的DRONE_RPC_SECRET
      - DRONE_RPC_SECRET=${DRONE_RPC_SECRET}
      - DRONE_RUNNER_CAPACITY=3
      - DRONE_RUNNER_NAME=drone-runner
      - DRONE_RPC_SKIP_VERIFY=true
      - DRONE_TMATE_ENABLED=true
      - DRONE_LOGS_TRACE=true
      #Optional string value. Sets the name of the runner
      - DRONE_RUNNER_NAME=dev_depoly

新增一個隱藏檔.env

RONE_SERVER_HOST=drone.itnotetk.com
DRONE_SERVER_PROTO=https
DRONE_RPC_SECRET=03d20f3fd943e68f01ea8df554a3ab92

#gitlab use
DRONE_GITLAB_CLIENT_ID=填入gitlab產生的id
DRONE_GITLAB_CLIENT_SECRET=填入gitlab產生的secret

###github use
#DRONE_GITHUB_CLIENT_ID=
#DRONE_GITHUB_CLIENT_SECRET=

docker-compose up -d 

 

runner佈署腳本

docker-compose.yml

services:
  drone-runner:
    container_name: drone-runner
    image: drone/drone-runner-docker:latest
    restart: always
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - DRONE_RPC_PROTO=https
      - DRONE_RPC_HOST=drone.itnotetk.com
      - DRONE_RPC_SECRET=${DRONE_RPC_SECRET}
      - DRONE_RUNNER_CAPACITY=2
      - DRONE_RUNNER_NAME=drone-runner2
      - DRONE_RPC_SKIP_VERIFY=true
      - DRONE_TMATE_ENABLED=true

新增隱藏檔.env

DRONE_SERVER_HOST=drone.itnotetk.com
DRONE_SERVER_PROTO=https
DRONE_RPC_SECRET=03d20f3fd943e68f01ea8df554a3ab92

#gitlab use 
DRONE_GITLAB_CLIENT_ID=填入gitlab產生的id 
DRONE_GITLAB_CLIENT_SECRET=填入gitlab產生的secret

 

開啟server的ui  http://192.168.1.10:8081/ 

登入需要輸入gitlab的帳密

將gitlab上面的repo同步至droneci

在go-server底下新增編寫好的  .drone.yml 腳本

修改要編譯的檔案後 git push 

droneci就會執行pipeline

 

By tony

自由軟體愛好者~喜歡不斷的思考各種問題,有新的事物都會想去學習嘗試 做實驗並熱衷研究 沒有所謂頂天的技術 只有謙虛及不斷的學習 精進專業,本站主要以分享系統及網路相關知識、資源而建立。 Github http://stnet253.github.io

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料