AWS CodeStar 專案範本 - AWS CodeStar

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

AWS CodeStar 專案範本

AWS CodeStar 專案範本可讓您開始使用範例應用程式,並使用AWS資源來支持您的開發項目。當您選擇 AWS CodeStar 專案範本時,會為您佈建應用程式類型、程式設計語言和運算平台。在使用 Web 應用程式、Web 服務、Alexa 技能和靜態網頁建立專案後,您可以將範例應用程式取代為您自己的。

AWS CodeStar 創建您的項目後,您可以修改AWS支持交付應用程序的資源。AWS CodeStarAWS CloudFormation,可讓您使用程式碼在雲端建立支援服務和服務器/無伺服器平台。AWS CloudFormation允許您在文本文件中對整個基礎架構進行建模。

AWS CodeStar 專案檔案和資源

AWS CodeStar 專案是建立用來部署程式碼的來源碼和資源的組合。可協助您建置、發佈和部署程式碼的資源集合,稱為工具鏈資源。在建立專案時,AWS CloudFormation 範本使用連續整合/連續部署 (CI/CD) 管道佈建您的工具鏈資源。

您可以使用 AWS CodeStar 通過兩種方式建立專案,這取決於您使用AWS資源建立:

  • 當您使用主控台建立專案時,AWS CodeStar 會建立您的工具鏈資源,包括您的儲存庫,並將範例應用程式的程式碼和專案檔案填入您的儲存庫。根據一組預先設定專案選項,使用主控台以快速設定範例專案。

  • 當您使用 CLI 來建立專案時,您會提供用於建立您的工具鏈資源和應用程式原始碼的 AWS CloudFormation 範本。使用 CLI 可讓 AWS CodeStar 從您的範本建立專案,然後將範本程式碼填入您的儲存庫。

AWS CodeStar 專案提供單一的管理據點。您可以使用建立專案精靈,在主控台設定範例專案。然後,您可以將它用做協作平台來管理團隊的權限和資源。如需詳細資訊,請參閱 什麼是 AWS CodeStar?。當使用主控台來建立專案時,會提供您的原始碼做為範本程式碼,並且為您建立 CI/CD 工具鏈資源

當您在主控台建立專案時,AWS CodeStar 會設定以下資源:

  • GitHub 或 CodeSub 中的程式碼儲存庫。

  • 在專案儲存庫中,README.md 檔案提供檔案和目錄的詳細資訊。

  • 在專案儲存庫中,template.yml 檔案存放您的應用程式執行階段堆疊的定義。您可以使用此檔案添加或修改非工具鏈資源的專案資源,例如AWS用於通知、數據庫支持、監視和跟蹤的資源。

  • AWS服務和資源,例如 Amazon S3 工件存儲桶、Amazon CloudWatch 事件和相關的服務角色。

  • 具備完整原始碼和公有 HTTP 端點的作用中範例應用程式。

  • 同時AWSAWS CodeStar 專案範本類型:

    • Lambda 函數。

    • Amazon EC2 執行個體。

    • AWS Elastic Beanstalk 環境。

  • 2018 年 12 月 6 日開始使用

    • 許可邊界,是一種專用 IAM 政策,用於控制對專案資源的存取權。許可邊界預設會連接到範例專案中的角色。如需詳細資訊,請參閱工作者角色的 IAM 許可邊界

    • 同時AWS CloudFormationIAM 角色,可建立專案資源AWS CloudFormation,其中包含所有AWS CloudFormation支持的資源,包括 IAM 角色。

    • 工具鏈 IAM 角色。

    • 應用程式堆疊中定義之的 Lambda 執行角色,可加以修改。

  • 2018 年 12 月 6 日之前:

    • AWS CloudFormation IAM 角色,可建立專案資源,支援一組有限的 AWS CloudFormation 資源。

    • IAM 角色,可建立 CodePipeline 源。

    • IAM 角色,可建立 CodeStar 資源。

    • IAM 角色,可建立 CodeDeploy 資源 (如果適用於您的專案類型)。

    • IAM 角色,可建立 Amazon EC2 Web 應用程式 (如果適用於您的專案類型)。

    • IAM 角色,可建立 CloudWatch 控事件資源。

    • Lambda 的執行角色,可動態修改為包含部分資源。

專案包含顯示狀態的詳細信息頁面,其中包含團隊管理的連結、IDE 或您的儲存庫設定説明的連結,以及儲存庫中原始碼變更的遞交歷史記錄。您也可以選擇工具,用於連接到外部問題追蹤工具,例如 Jira 。

入門:選擇專案範本

當您在主控台選擇 AWS CodeStar 專案,您是從一組預先設定的選項 (含範本程式碼和資源) 做選擇,以讓您快速開始使用。這些選項稱為專案範本。AWS CodeStar 專案範本包含程式設計語言、應用程式類型和運算平台。您選擇的組合決定專案範本。

選擇範本運算平台

每個範本會設定以下其中一種運算平台類型:

  • 當您選擇AWS Elastic Beanstalk項目中,您可以部署到AWS Elastic Beanstalk環境在雲中的 Amazon 彈性計算雲實例上。

  • 當您選擇 Amazon EC2 專案時,AWS CodeStar 會建立 Linux EC2 執行個體,在雲端託管您的應用程式。您的專案團隊成員可以存取執行個體,而您的團隊使用您提供給 SSH 的金 key pair 至執行 Amazon EC2 體中。AWS CodeStar 還有一個受管的 SSH,其利用團隊成員許可權來管理金 key pair 連線。

  • 當您選擇AWS Lambda,AWS CodeStar 會建立通過 Amazon API Gateway 存取的無伺服器環境,而無需維護執行個體或服務器。

選擇範本應用程式類型

每個範本會設定以下其中一種應用程式類型:

  • Web 服務

    Web 服務用於在背景執行任務,例如呼叫 API。AWS CodeStar 建立您的範例 Web 服務專案之後,您可以選擇端點 URL 以查看 Hello World 輸出,但此應用程式類型的主要用途不用於使用者界面 (UI)。AWS CodeStar 專案範本支援以 Ruby、Java、ASP.NET、PHP、Node.js 及其他技術進行開發。

  • Web 應用程式

    Web 應用程式具有 UI。AWS CodeStar 建立您的範例 Web 應用程式專案之後,您可以選擇端點 URL 以查看互動式 Web 應用程式。AWS CodeStar 專案範本支援以 Ruby、Java、ASP.NET、PHP、Node.js 及其他技術進行開發。

  • 靜態網頁

    如果您想要 HTML 網站適用的專案,請選擇此範本。AWS CodeStar 專案範本支援以 HTML5 開發。

  • Alexa 技能

    若您的 Alexa 技能專案須搭配 AWS Lambda 函數,請選擇此範本。當您建立技能專案時,AWS CodeStar 會返回您可用作服務端點的 Amazon Star 資源名稱 (ARN)。如需詳細資訊,請參閱「」將自定義技能作為AWSLambda 功能

    注意

    Alexa 技能的 Lambda 函數僅在美國東部 (維吉尼亞北部)、美國西部 (奧勒岡)、歐洲 (愛爾蘭) 和亞太區域 (東京) 區域受到支援。

  • Config 規則

    若您的專案須搭配AWS Config規則,使您可以在AWS資源。該函數會傳回可當成您的規則的服務端點使用的 ARN。

選擇範本程式設計語言

當您選擇專案範本時,可選擇像 Ruby、Java、ASP.NET、PHP、Node.js 及更多的程式設計語言。

如何變更您的 AWS CodeStar 專案

您可以更新您的專案,藉由修改:

  • 用於您的應用程式的範本程式碼和程式設計語言資源。

  • 基礎設施的組成資源,也是您的應用程式 (作業系統、支援應用程式和服務、部署參數和雲端運算平台) 存放和部署之處。您可以在 template.yml 檔案中修改應用程式資源。這是建立您的應用程式執行階段環境所需的 AWS CloudFormation 檔案。

注意

如果您正使用 Alexa 技能 AWS CodeStar 專案,您無法在 AWS CodeStar 來源儲存庫 (CodeCommit 或 GitHub) 之外變更技能。若您在 Alexa 開發人員入口網站編輯技能,變更可能不會出現在來源儲存庫,造成這兩個版本不同步。

變更應用程式原始碼和推送變更

若要修改範例原始碼、指令碼和其他應用程式來源檔案,請以下列方式編輯您的來源儲存庫的檔案:

  • 使用 CodeCommit tar 或 GitHub 中的編輯模式。

  • 在 IDE 開啟專案,例如 AWS Cloud9。

  • 在本機複製儲存庫,然後認可和推送您的變更。如需相關資訊,請參閱 步驟 4:提交變更

使用 Template.yml 檔案變更應用程式資源

您不需要手動修改基礎設施資源,請使用 AWS CloudFormation 建立和部署您應用程式的執行時間資源。

您可以透過編輯您的專案儲存庫中的 template.yml 檔案,在執行階段堆疊中修改或新增應用程式資源 (例如,Lambda 函數)。您可以新增可當成 AWS CloudFormation 資源使用的任何資源。

若要變更 AWS Lambda 函數的程式碼或設定,請參閱新增資源到專案

在您的專案儲存庫中,修改 template.yml 檔案以新增 AWS CloudFormation 資源 (應用程式資源) 的類型。當您將應用程序資源添加到Resources的 區段template.yml文件,AWS CloudFormation和 AWS CodeStar 為您創建資源。如需AWS CloudFormation資源及其必要屬性,請參見AWS資源類型參考。如需詳細資訊,請參閱步驟 1:編輯 IAM 中的 CloudFormation 工作者角色所提供的此範例。

AWS CodeStar 可讓您實施最佳實務,方法是透過設定和建立應用程式的運行階段環境。

如何管理變更應用程式資源的許可

當您使用 AWS CloudFormation 新增執行階段的應用程式資源,例如 Lambda 函數,AWS CloudFormation 工作者角色可以使用已擁有的許可。對於某些執行時間應用程式資源,您必須先手動調整 AWS CloudFormation 工作者角色的許可,再編輯 template.yml 檔案。

如需變更 AWS CloudFormation 工作者角色的許可的範例,請參閱步驟 5:使用內嵌政策新增資源許可