配置 Drone 與 GitLab 整合
Drone 是一個以 Go 編寫、基於 Docker 的 CI/CD 平台。本篇文章簡單介紹 Drone 如何安裝與 GitLab 整合。
Prepare Your GitLab
首先必須準備 GitLab 環境。依照需求,你可以選擇 self-hosted 或者 GitLab.com。自行架設安裝 GitLab 的方式很多種,請參考官方說明。如果你偏好使用 Docker,個人推薦使用 docker-gitlab 這個專案來快速安裝部署你的 GitLab 平台。
準備好 GitLab 環境之後,你必須在 GitLab 上註冊應用程式取得 OAuth client
及 secret
。假設你的 Drone Server 位置是 http://YOUR_DRONE_HOST
,則 Callback URL 就填入 http://YOUR_DRONE_HOST/authorize
。Scopes 選項記得要勾選 api
,以取得足夠的 GitLab API 權限。
Install Drone
Drone 支持 GitLab 8.2 及更高版本。請確認已經安裝,Docker 以及 Docker Compose。編寫 docker-compose.yml
檔案並使用以下環境變量配置 Drone 容器。
1 |
|
將 GitLab 上取得的 Application Id
及 Secret
分別填入 DRONE_GITLAB_CLIENT
及 DRONE_GITLAB_SECRET
。然後執行 docker-compose up -d
就啟動好 Drone 了。其他可選的環境變數選項請參考 Drone 官方說明。
Drone 啟動完成後,進入 http://YOUR_DRONE_HOST
會要求 GitLab 取得授權。
取得授權後,接著會導向 http://YOUR_DRONE_HOST/account/repos
頁面,就可以選擇你要在 GitLab 下要整合 Drone 的專案。
Test Your Project
以一個簡單的 Node.js 專案為例,我們在目錄下加入 .drone.yml
:
1 |
|
這裡定義了兩個 pipeline,首先安裝依賴,然後執行測試。然後將專案 push 至 GitLab 即觸發 Drone 程序。關於 .drone.yml
設置的詳細說明請參考 Drone 官方文件。
OK,完成!
References
本部落格所有文章除特別聲明外,均採用 CC BY-SA 4.0 協議 ,轉載請註明出處!