iT邦幫忙

2023 iThome 鐵人賽

DAY 23
0
Cloud Native

.NET雲端魔法尊者之路系列 第 23

2023-鐵人賽.NET雲端魔法尊者之路 Day23 雲端篇 CICD

  • 分享至 

  • xImage
  •  

哈囉大家好,今天要來介紹 CICD !

CICD是甚麼 ?

https://ithelp.ithome.com.tw/upload/images/20231008/20151015BlFll8uFXf.png

CICD 是「持續整合與持續部屬」(Continuous Integration and Continuous Delivery)的縮寫,是一種軟體開發和交付的最佳實踐方法,用於自動化和優化軟體開發、測試和部署過程。它是一種敏捷開發方法的一部分,旨在加速軟體交付的速度、提高軟體品質,並降低開發過程中的風險。

為什麼我們需要CICD ?

加速交付速度

CICD自動化了開發、測試和部署流程,可以顯著縮短軟體交付的週期。這使得開發團隊能夠更快地將新功能、修復和改進引入到生產環境中,更快地響應客戶需求。

提高軟體品質

持續整合確保了代碼的頻繁整合和自動化測試,有助於及早發現和解決潛在問題。持續交付/部署通過自動化構建和部署流程減少了人為錯誤的機會,從而提高了軟體的品質和穩定性。

降低風險

CICD引入了更多的自動化和標準化,減少了人為因素對開發和交付過程的影響。這降低了潛在的錯誤和故障的風險,同時提高了可重複性和可靠性。

持續反饋

CICD提供了實時或接近實時的反饋機制,使開發團隊能夠快速了解代碼的狀態和品質。這有助於快速響應問題,改進代碼品質,並確保在早期階段解決問題。

自動化部署

持續交付和持續部署自動化了應用程序的部署過程。這意味著可以更容易地將新功能和改進推送到生產環境,減少了手動部署所需的時間和努力。

協作和可見性

CICD工具提供了一個集中的平台,使開發團隊和運維團隊能夠更好地協作,共享信息,以及實時查看交付過程的狀態。這增強了團隊之間的協作和透明度。

快速回滾

如果在生產環境中出現問題,CICD允許快速回滾到之前的穩定版本,從而減少了問題對用戶造成的影響。

支持持續改進

CICD幫助團隊收集數據和指標,以評估和改進其開發和交付流程。這有助於不斷優化流程,提高效率和品質。

CICD 步驟

1. 程式碼編寫

開發人員編寫新的程式碼或修改現有程式碼,這是軟體開發的起始階段。

2. 程式碼管理

程式碼被提交到版本控制系統(如Git),以便進行跟蹤、合併和管理。

3. 持續整合(CI)

在每次程式碼提交時,持續整合伺服器會自動觸發建置過程。這包括將新程式碼與現有程式碼庫整合、編譯程式碼並運行自動化測試。

4. 自動化測試

執行自動化單元測試、整合測試和功能測試,以驗證新程式碼的品質,確保不會引入新問題。

5. 建置

將程式碼編譯成可執行的軟體或建置容器映像,以便後續部署使用。

6. 部署到開發/測試環境

建置後的應用程式或容器映像被部署到開發或測試環境中,開發人員和測試人員可以在這裡進行進一步的測試和驗證。

7. 自動化驗收測試(可選)

在測試環境中執行自動化驗收測試,以確保軟體在滿足功能需求方面是可行的。

8. 部署到生產環境

一旦程式碼在開發和測試環境中通過了測試,它可以自動或手動地部署到生產環境中。

9. 監控和運維

監控工具和日誌記錄用於監視應用程式在生產環境中的性能和可用性。運維團隊可以使用這些數據來識別和解決問題。

10. 自動化回滾(可選)

如果在生產環境中發現了問題,可以自動或手動地執行回滾操作,將應用程式還原到之前穩定的版本。

11. 通知和報告

CICD工具可以生成報告和通知,通知相關團隊和利益相關者有關建置和部署的狀態和結果。

12. 持續改進

團隊可以根據每個階段的結果和反饋來不斷改進流程,以提高效率和品質。

結語

那今天就到這裡了,掰掰~

參考資料

https://bear-1111.medium.com/%E4%BB%80%E9%BA%BC%E6%98%AF-ci-cd-72bd5ae571f1


上一篇
2023-鐵人賽.NET雲端魔法尊者之路 Day22 雲端篇 DevOps
下一篇
2023-鐵人賽.NET雲端魔法尊者之路 Day24 雲端篇 Azure
系列文
.NET雲端魔法尊者之路30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言