終於有機會正式跟大家介紹為什麼我會捨棄 Jenkins 跟 GitLab CI,取而代之的是用 Go 語言寫的 Drone。今年很高興錄取台灣第一屆 DevOps Day 講師,在今年主題是『用 Drone 打造輕量級容器持續交付平台』,主要推廣這套 Drone CI/CD 工具,會議內容圍繞在 Jenkins, GitLab CI 跟 Drone 的比較。也提到為什麼我不用 Jenkins 及 GitLab CI 的幾個原因。底下整理議程大綱。
- 為什麼選擇 Drone
- Drone 基礎簡介
- Drone 架構擴展
- Drone 安裝方式
- Drone 管理介面
- Drone 測試部署
- Drone 自訂套件
在講為什麼不用 Jenkins 或 GitLab CI 之前我們來看看大家都用什麼工具來串 CI/CD 流程
為什麼不用 Jenkins
有六個原因大家可以想看看是否有踩到身為工程師的痛點
- 專案設定複雜 (連 DevOps 老手都這麼覺得)
- 流程版本控制 (同事改個設定檔,流程就爆掉)
- 無法擴充套件 (你會 Java 嗎?團隊內有人會嗎?)
- 後續維護? (同事離職或請假該怎麼辦)
- 學習困難? (新人完全不會啊)
- 團隊成長? (團隊內只有特定同事才會?)
為什麼不用 GitLab CI
GitLab CI 已經改善了很多 Jenkins 遇到的問題,但是還有兩點是我看到的缺陷:
- 只支援 GitLab 版本控制 (如果你用 GitHub 該怎麼辦)
- 無法擴充 Yaml 檔案寫法
大家可以想想第二點,假設你今天要部署 10 台伺服器,該如何將檔案同時丟到 10 台?當然在 GitLab CI 可以做到,但是可以比較看看 Drone 透過 drone-scp,而 GitLab CI 則是要自己自幹 Shell Script。所以可想而知,如果可以擴充 Yaml 寫法,就可以輕易簡化 Yaml 設定,讓流程更清楚。
導入 CI/CD 的瓶頸
在之前做過一份統計,大家對於導入 CI/CD 的瓶頸在哪邊,底下是統計圖
可以看到前三名分別是:
- 工具設定複雜
- 團隊無法成長
- 新人學習困難
如果您的團隊有以上困擾,歡迎使用 Drone,底下是我錄製的 Udemy 線上課程。
Drone 線上課程
如果你對 Drone 有興趣,且想改善上面我提到的問題,歡迎訂購,課程訂價是 4000 元,不過在 DevOps Day 開賣,現在特價 1600 元。Coupoon 優惠碼: KUBERNETES 購買網址
底下是我的投影片,歡迎大家參考: