如何實現持續整合和持續交付


使用持續整合和持續交付流程的理想方法是提高軟體質量、縮短上市時間並減少基礎設施的使用。

持續整合是指定期開發和更新應用程式原始碼,使用一組既定的流程和工具,並定期釋出每個版本的過程。

雖然相似,但持續交付用於在開發新系統功能以及響應客戶輸入時推出軟體。

無論採用何種應用程式部署決策,CI 和 CD 都應成為 IT 戰略的核心組成部分。如果為軟體生產提供了錯誤的工具,則很可能面臨損失,擾亂組織內的工作流程,從而導致許多問題。

所有規模的企業都嚴重依賴持續整合和交付。它們使企業能夠以及時、經濟高效和可靠的方式生產軟體。

絕大多數基於 Web 的應用程式、Android 應用程式和基於雲的服務都是使用 CI 和 CD 技術的組合建立的。

持續整合

持續整合的目標是為開發人員提供他們快速有效地構建軟體所需的工具和靈活性。開發人員可以在每次提交程式碼時更新和測試其程式碼,以生成更完善的應用程式版本。

團隊會將每次提交作為持續整合 (CI) 的一部分進行評估。當更新的版本準備好後,開發人員可以將其上傳到伺服器進行持續整合,這將執行自動化測試並向團隊報告軟體的功能。團隊將立即知道任何軟體問題,以便可以修復它們。

持續交付

持續交付的目標是始終如一地可靠地向客戶提供軟體。每次將更改傳送到持續整合伺服器時,伺服器都會執行自動化測試並將程式碼以增強的狀態傳送給客戶。

但是,團隊手動執行此過程。持續整合過程由開發人員處理。當準備推送新版本時,團隊將執行上面列出的手動持續交付操作。將新軟體版本新增到持續整合伺服器,並開始向客戶交付軟體。

為了從 CD 中獲益,團隊首先必須掌握監控用於持續整合和持續交付的持續整合伺服器的技能。我們應該瞭解以下重要細節。

監控持續整合伺服器

在實施持續交付之前,監控持續整合伺服器應該是我們的首要任務之一。AWS、CloudWatch 和 Jenkins 是我們可以使用的幾個選項。

Jenkins

Jenkins 是一款免費的持續整合解決方案,可以使用 Web 服務安裝在 Windows Server 2016 和 Amazon Web Services 上。

Jenkins 以 Jenkins 代理的形式提供雲服務,我們可以使用它來測試需求。要使用 Jenkins,我們必須擁有一個本地 Jenkins 伺服器,我們可以透過 API 連線到該伺服器。Jenkins 可用於生成構建作業,該作業執行持續交付的測試過程。每個作業都遵循預定的時間表。

CloudWatch

CloudWatch 是一款開源服務,用於監控 EC2 雲服務。Amazon EC2(公共雲)、Amazon RDS(機器人流程自動化)和 Amazon Simple Queue Service 都支援 CloudWatch 的部署(Amazon SQS)。

我們可以使用 CloudWatch 設定觸發器,以便在雲服務發生更改時發出警報。此外,它還允許開發警報、電子郵件和 API 端點,以與 CloudWatch API 互動並接收通知。

GitHub

透過 GitHub Pages,我們可以管理儲存庫和原始碼。它還包含一個 Git 外掛,可以輕鬆跟蹤原始碼更新並快速保持儲存庫最新。

持續整合流程設定

瞭解有效的持續整合構建的元件至關重要。為確保我們的開發和構建流程順利進行,請執行以下步驟:

讓開發人員參與

我們需要讓每個開發人員瞭解我們專案的規範。根據工程師的需求,我們可以同時使用電子郵件和書面信函。

配置自動化構建

如前所述,對於原始碼的每次更新,都必須自動化構建過程。例如,我們可以在 Amazon Web Services 環境中設定自動化構建過程,以在將新功能部署到特定使用者組之前測試應用程式。

可以使用多種軟體程式自動化構建過程,包括 Gradle、Maven、Jenkins 和 TeamCity。

持續整合促進了程式頻繁開發、測試和部署到所有環境,包括生產和開發環境。

管道——必須採取的一系列操作才能構建應用程式並將軟體與基礎設施連線——至關重要。

應用程式開發和分發

在設定管道以測試構建過程後,下一步是建立分發到各種環境的應用程式。

可以使用瀑布方法,這需要建立詳細的設計、文件和全面的專案計劃;或者使用敏捷開發構建應用程式,這使我們能夠在一個衝刺內修改原始碼。

另一種方法是建立按需環境,這是一個可以用來在各種環境(例如 Amazon Web Services)中執行程式的儲存庫。

在雲中設定測試環境,然後在按需環境中建立應用程式以在與生產環境完全不同的環境中對其進行測試,這是一個標準程式。

結論

按照上述步驟,您的雲優先軟體開發業務模式可以成為現實。即使您是雲市場的新手並且正在考慮啟動您自己的第一家雲優先公司,學習建立雲應用程式的過程以及如何建立可擴充套件、透明且可重複的業務模型也符合我們的最佳利益。

更新於:2023年2月27日

瀏覽量:154

啟動您的職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.