使用 AWS 程式碼提交、AWS CodePipeline 和 AWS 裝置伺服器陣列建置和測試 iOS 應用程式 - AWS Prescriptive Guidance

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 AWS 程式碼提交、AWS CodePipeline 和 AWS 裝置伺服器陣列建置和測試 iOS 應用程式

由阿卜杜拉希奧洛耶 (AWS) 創作

R 類型:N/A

來源:現場部署 DevOps 作業流程

目標:AWS 上 iOS 應用程式開發 CI/CD 管道

建立者:AWS

環境:PoC 或試驗

技術:網站與網路應用程式;DevOps

AWS 服務:AWS CodeCommit;AWS CodePipeline;AWS Device Farm

Summary

此模式概述了建立持續整合和持續交付 (CI/CD) 管道的步驟,該管道使用 AWS CodePipeline 在 AWS 上的真實裝置上建置和測試 iOS 應用程式。該模式使用 AWS CodeCommit 來存儲應用程序代碼,詹金斯開源工具來構建 iOS 應用程序,和 AWS 設 Device Farm 在真實設備上測試構建的應用程序。這三個階段是透過使用 AWS 程式碼管道在管道中協調一起。

這種模式是基於使用 AWS DevOps 作業和行動服務建置和測試 iOS 和 iPadOS 應用程式在 AWS DevOps 作業部落格中。如需詳細說明,請參閱部落格文章。

先決條件和限制

先決條件

  • 作用中的 AWS 帳戶

  • 蘋果開發人員帳戶

  • 建置伺服器 (macOS)

  • XCode11.3 版本(在構建服務器上安裝並設置)

  • AWS 命令列界面 (AWS CLI)安裝已配置在工作站上

  • 基本的知識Git

限制

  • 應用程式建置伺服器必須執行 macOS。

  • 組建伺服器必須具有公用 IP 位址,因此 CodePipeline 可以從遠端連線到它以啟動組建。

Architecture

來源技術堆疊

  • 內部部署 iOS 應用程式建置程序,涉及在實體裝置上使用模擬器或手動測試

目標技術堆疊

  • 用於儲存應用程式原始程式碼的 AWS CodeCommit 存放庫

  • 使用 Xcode 進行應用程序構建的詹金斯服務器

  • 用於在真實裝置上測試應用程式的 AWS 裝置農場裝置集區

目標架構

當用戶提交更改到源存儲庫時,管道(AWS CodePipeline)從源存儲庫中獲取代碼,啟動詹金斯構建,並將應用程序代碼傳遞給詹金斯。在組建之後,管道會擷取組建成品,並啟動 AWS Device Farm 作業,以針對裝置集區測試應用程式。

Tools

  • AWS CodePipeline— AWS CodePipeline 是一項完全受管的持續交付服務,可協助您自動化發行管線,以進行快速且可靠的應用程式和基礎設施更新。根據您定義的發行模型,CodePipeline 可根據您定義的發行模型,在每次程式碼變更時自動執行發行程序的建置、測試和部署階段。

  • AWS CodeCommit— AWS CodeCommit 是全受管原始碼控制服務,可託管安全的 Git 儲存庫。它可讓團隊輕鬆地在安全且可高度擴充的生態系統中共同合作程式碼。CodeCommit 可讓您不必操作自己的來源控制系統,也不用擔心其基礎設施的擴展能力。

  • AWS Device Farm— AWS Device Farm 是一項應用程式測試服務,可讓您在各種桌面瀏覽器和真實行動裝置上進行測試,藉此改善 Web 和行動應用程式的品質,而無需佈建和管理任何測試基礎設施。

  • Jenkins— Jenkins 是一個開放原始碼自動化伺服器,可讓開發人員建置、測試和部署他們的軟體。

Epics

任務描述所需技能
在運行 macOS 的構建服務器上安裝詹金斯。

Jenkins 將用於構建應用程序,因此您必須先安裝在構建服務器上。若要取得這個和後續工作的詳細指示,請參閱部落格文章和其他資源,在此模式結尾的 < 相關資源 > 一節中。

DevOps
設定 Jenkins。

按照螢幕說明設定 Jenkins。

DevOps
安裝詹金斯的 AWS CodePipeline 插件。

這個插件必須在詹金斯服務器上安裝,以便詹金斯與 AWS CodePipeline 服務交互。

DevOps
創建一個詹金斯自由式項目。

在詹金斯,創建一個自由式項目。配置項目以指定觸發器和其他構建配置選項。

DevOps
任務描述所需技能
建立 Device Farm 專案。

開啟 AWS Device Farm 主控台。建立專案和裝置集區進行測試。如需指示,請參閱部落格文章。

開發人員
任務描述所需技能
建立 CodeCommit 儲存庫。

創建一個存儲源代碼的存儲庫。

DevOps
將您的應用程式程式碼提交至儲存庫。

Connect 到您建立的 CodeCommit 儲存庫。將程式碼從本地計算機推送到儲存庫。

DevOps
任務描述所需技能
在 AWS CodePipeline 中建立管道。

開啟 AWS CodePipeline 主控台,然後建立管線。管道編排 CI/CD 過程的所有階段。如需指示,請參閱部落格文章。

DevOps
新增測試階段至管道。

編輯管道以新增測試階段,並將其與 AWS Device Farm 整合。

DevOps
啟動配管。

選擇「釋放更改」啟動管道和 CI/CD 過程。

DevOps
任務描述所需技能
檢閱測試結果。

在 AWS Device Farm 主控台中,選取您建立的專案,然後檢閱測試結果。控制台將顯示每個測試的詳細信息。

開發人員

此樣式的逐步說明

設定 AWS Device Farm

設定來源儲存庫

設定管道

其他資源