iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 11
0
DevOps

從 0 到 1 的 DevOps 執行日記 - 全方位平台實踐手冊系列 第 11

【Day-11】我們是怎麼開始的?:一間傳統軟體公司從 0 開始建置的 DevOps 文化(技術篇)-0.5-0.99

  • 分享至 

  • xImage
  •  

0.5 to 0.7

接下來就是把所有系統項目都加入 CD 了,因為各個平台交付的方式有所不同,這邊以 iOSAndroidWeb 為例子如下圖。這邊就不畫出測試環境與正式環境了,但至少都要分出這些環境。

(img)

我們的 iOSAndroid 是透過 fastlane 部署的,若有興趣的可以先參考這篇 [iOS App 環境管理 : 靈活運用 Xcode Scheme、GitLab 和 Fastlane 設置不同的開發環境]

Web 都是透過容器化進行部署,也比較會放置在 KNative 這種環境中。

恭喜你,走到了這個階段後,團隊成員基本上對於 DevOps 文化已經稍稍了解了,日常的建設基礎 CI/CD 基本上已經成形了,我們的經驗是,不要太在意工具,先以概念、以文化先行,讓大家先知道,為什麼要做這件事情,有什麼好處。

最後開發流程最基礎的應該有以下步驟:

  1. 領到卡片任務
  2. 查看卡片任務中的用戶故事與目標
  3. 查看卡片中建議的設計
  4. 拖曳卡片至執行中
  5. 創建新的功能分支
  6. 執行軟體設計與實作
  7. 撰寫單元測試
  8. 提交分支並且發送 Pull Request
  9. Auto Run Pipeline 執行建置、測試
  10. 確認 Pipeline 執行成功後拖曳卡片到 Review
  11. 如果失敗必須修正後重新提交
  12. 進行 Code Review
  13. 合併到 develop 分支
  14. 合併後自動觸發 CI/CD
  15. 自動建置、測試、部署
  16. 自動 打包 docker image
  17. 自動推送到 Private Container Repo
  18. 自動部署到 Kubernetes 中
  19. Slack 通知完成

0.7 to 0.99

這階段的最重要的目標是持續努力、培養團隊成員也理解這些概念,這個階段可以開始更深入的探討方法論、執行細節與項目,並且要建立屬於自己團隊的 Wiki ,以我們團隊來說是用 notion 來執行。

(img)(img)(img)(img)

並且同時要適當的讓團隊成員主導某些流程、開始引入數據呈現,讓每一個成員都可以體驗這個文化的好處。主要概括有以下幾項

  • 多邀請大家參與社群活動
  • 多在內部舉辦頭腦風暴,凝聚大家的想像力也加強合作
  • Scrum 會議中更鼓勵大家提出想法與問題,還有想討論的事項
  • 以文件驅動工作流程,比如功能設計後要附上一張流程圖
  • 透明化每個專案,讓每個成員都可以有靈感或創意時提供意見
  • 量化指標
    • 交付效率
      • 開發時間(這邊目前我們使用 jira 的時間記錄功能)
    • 交付目標
      • 交付頻率
      • 交付吞吐量
    • 交付質量
      • Bug 密度
      • Bug 分佈
      • 故障修復時間
  • 混沌工程
  • 數據儀表板
  • 持續進步
    • PDCA

(img)

總結

(img)

人 + 流程 = 文化

DevOps 中的三大支柱 人、流程、與平台,其實我們建置的過程中,一直圍繞著這三大部分,深深的體認到,人參與進來是非常重要的,如果感受到你的團隊成員只是把他當一個流程時,會有一些無力感,會覺得希望他們更 join 進來。
以上就是我們稍微有一點點成績的 DevOps 文化與基礎設施。我認為工具真的不能,最難的是人的部分。大家一但養成了,責任共擔、質量導向,其實就離初步的 DevOps 不遠了。

工具的使用與方法論其實都沒有實踐來得難,我們需要知行合一,才有辦法培養敏捷、DevOps 文化,讓團隊成員都有多多少少的系統思維,能夠適時的以大局觀看到與更了解整個系統的樣貌,也鼓勵在這種 參與進來 的氣氛中工作,而不是離得遠遠的感覺他只是工作。遊戲化、興趣化、大家為了某一件事情努力的這種氣氛。

這就是我們實踐的過程,希望對讀到現在的你妳有些幫助。這就是目前我們的故事,當然,故事還在繼續進行,我們也開始要跨越到0.99 到 1 的階段,這才是開始!接下來會再繼續分享。


上一篇
【Day-10】我們是怎麼開始的?:一間傳統軟體公司從 0 開始建置的 DevOps 文化(技術篇)-0.19-0.5
下一篇
【Day-12】我們是怎麼開始的?:一間傳統軟體公司從 0 開始建置的 DevOps 文化(實作篇)-iOS 平台(1)
系列文
從 0 到 1 的 DevOps 執行日記 - 全方位平台實踐手冊30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言