應用DevOps自動化流程改進小型團體軟體開發效能
學年 107
學期 1
發表日期 2018-10-24
作品名稱 應用DevOps自動化流程改進小型團體軟體開發效能
作品名稱(其他語言)
著者 施俊羽; 鍾興臺
作品所屬單位
出版者
會議名稱 TANET 2018-臺灣網際網路研討會
會議地點 國立中央大學,台灣
摘要 本研究主要探討在小型團隊中開發流程的自 動化技術,優化及改善原有的 DevOps 開發流程。 我們將原有 DevOps 流程分成三階段,分別為 Plan -> Code -> Build -> Test 的 PT 開發階段;Release -> Deploy 的 RD 部署階段 ,與 Operate -> Monitor 的 OM 營運階段,並對每個階段做系統化及優化,改 善自動化流程讓運作更為流暢,讓小型團隊開發 變得比以前更容易進行,同時降低許多問題的發 生。過程中,我們整合了多個不同功能的開源軟 體 (open source),如使用 GitLab issue tracker 與 MatterMost 進行三個階段之間的團隊協作。在 PT 開發階段使用 GitLab 版本控制,Drone 自動化測試, ESLint 確保程式碼的品質。RD 部署階段使用 GitLab 控制所要部署的版本與使用 Drone 自動部署 應用程式。OM 營運階段使用 Prometheus 做伺服器 系統監控,blackbox-exporter 收集三階段服務的上 線狀況,並傳給 Prometheus 做分析及警示;使用 Elasticsearch、 Logstash、Elastalert 收集 log 紀錄, 並在異常時通知使用者。為了提高軟體的可攜性, 我們運用了 Docker 的技術,將以上軟體都包裝在 Docker 容器中運作,讓系統更易於維護。我們還 利用 Grafana 製作了一個儀表板,讓開發者與營運 者可以快速掌握目前的工作進度與系統的概況。 為了因應企業高階需求,我們採用模組來設計流 程,允許更換模組改為相對應功能的雲端服務, 透過付費換取更高的穩定性或是更多功能。為了 測試新流程的可用性,我們實際將流程套用在一 個專案的開發上,新流程為專案帶來了更多的便 利,同時在實務上出現一些與預想不同的狀況, 藉由和專案成員不斷改進流程,整體運作更趨流 暢。
關鍵字 DevOps;自動化流程;軟體開發
語言 zh_TW
收錄於
會議性質 國內
校內研討會地點
研討會時間 20181024~20181026
通訊作者
國別 TWN
公開徵稿
出版型式
出處 TANet 2018 論文
相關連結

機構典藏連結 ( http://tkuir.lib.tku.edu.tw:8080/dspace/handle/987654321/115848 )