AWS CodeStar 專案範本 - AWS CodeStar

2024 年 7 月 31 日,Amazon Web Services (AWS) 將停止建立和檢視AWS CodeStar專案的支援。2024 年 7 月 31 日之後,您將無法再存取AWS CodeStar主控台或建立新專案。但是AWS CodeStar,由建立的AWS資源 (包括您的來源儲存庫、管道和組建) 將不受此變更的影響,並將繼續運作。 AWS CodeStar連線和AWS CodeStar通知不會受到此停止的影響。

 

如果您想要追蹤工作、開發程式碼以及建置、測試和部署應用程式,Amazon CodeCatalyst 提供簡化的入門程序和其他功能來管理軟體專案。進一步了解 Amazon 的功能定價 CodeCatalyst。

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

AWS CodeStar 專案範本

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

AWS CodeStar建立專案之後,您可以修改支援應用程式交付的AWS資源。 AWS CodeStar使用AWS 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 或中的程式碼儲存庫 CodeCommit。

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

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

  • AWS與您的管道相關建立的服務和資源,例如 Amazon S3 成品儲存貯體、Amazon CloudWatch 活動和相關服務角色。

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

  • 以AWS CodeStar專案範本類型為基礎的AWS計算資源:

    • Lambda 函數。

    • Amazon EC2 執行個體。

    • AWS Elastic Beanstalk 環境。

  • 自 2018 年 12 月 6 日 (太平洋時間) 開始:

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

    • 用AWS CloudFormation於建立專案資源的 AWS CloudFormation IAM 角色,其中包括所有AWS CloudFormation支援資源 (包括 IAM 角色) 的許可。

    • 工具鏈 IAM 角色。

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

  • 在 2018 年 12 月 6 日 (太平洋時間) 之前:

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

    • 用於建立資 CodePipeline 源的 IAM 角色。

    • 用於建立資 CodeBuild 源的 IAM 角色。

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

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

    • 用於建立 CloudWatch 事件資源的 IAM 角色。

    • Lambda 的執行角色,經過動態修改以包含部分資源集。

專案包含顯示狀態的詳細資訊頁面,並包含小組管理連結、IDE 或存放庫設定指示的連結,以及儲存庫中原始程式碼變更的提交歷史記錄。您也可以選擇工具,用於連接到外部問題追蹤工具,例如 Jira 。

開始使用:選擇專案範本

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

選擇範本運算平台

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

  • 選擇AWS Elastic Beanstalk專案時,您將部署到雲端中 Amazon 彈性運算雲端執行個體上的AWS Elastic Beanstalk環境。

  • 當您選擇 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 資源名稱 (ARN)。如需詳細資訊,請參閱將自訂技能託管為 AWS Lambda 函數

    注意

    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 式 GitHub。

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

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

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

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

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

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

在您的專案儲存庫中,修改 template.yml 檔案以新增 AWS CloudFormation 資源 (應用程式資源) 的類型。當您新增應用程式資源到 template.yml 檔案的 Resources部分,AWS CloudFormation 和 AWS CodeStar 會為您建立資源。如需AWS CloudFormation資源及其必要屬性的清單,請參閱AWS資源類型參考。如需詳細資訊,請參閱步驟 1:在 IAM 中編輯 CloudFormation背景工作角色所提供的此範例。

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

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

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

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