虛擬講堂進入演講
講 題應用 DevOps 自動化流程改進小型團體軟體開發效能
講 者淡江大學資訊工程系 施俊羽
日 期2018/10/26長 度00:09:13人 氣121 次
摘 要
本研究主要探討在小型團隊中開發流程的自
動化技術,優化及改善原有的 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 製作了一個儀表板,讓開發者與營運者可以快速掌握目前的工作進度與系統的概況。為了因應企業高階需求,我們採用模組來設計流程,允許更換模組改為相對應功能的雲端服務,透過付費換取更高的穩定性或是更多功能。為了測試新流程的可用性,我們實際將流程套用在一個專案的開發上,新流程為專案帶來了更多的便
利,同時在實務上出現一些與預想不同的狀況,藉由和專案成員不斷改進流程,整體運作更趨流暢。
提 供TANET台灣網際網路研討會-TANET2018
進入演講