在 中建立專案 AWS CodeStar - AWS CodeStar

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

 

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

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

在 中建立專案 AWS CodeStar

您可以使用 AWS CodeStar 主控台來建立專案。如果您使用專案範本,它會為您設定所需的資源。該範本還包含可讓您用來開始編寫程式碼的範例程式碼。

若要建立專案, AWS Management Console 請使用具有 AWSCodeStarFullAccess政策或同等許可的 IAM 使用者登入 。如需詳細資訊,請參閱設定 AWS CodeStar

注意

您必須完成 中的步驟,設定 AWS CodeStar才能完成本主題中的程序。

在 AWS CodeStar 中建立專案 (主控台)

使用 AWS CodeStar 主控台建立專案。

在 中建立專案 AWS CodeStar
  1. 登入 AWS Management Console,然後開啟 AWS CodeStar 主控台,網址為 https://https://console.aws.amazon.com/codestar/

    請確定您已登入要建立專案及其資源的 AWS 區域。例如,若要在美國東部 (俄亥俄) 建立專案,請確定您已選取該 AWS 區域。如需 AWS CodeStar 可用 AWS 區域的相關資訊,請參閱《 AWS 一般參考》中的區域和端點

  2. 在頁面上AWS CodeStar,選擇建立專案

  3. 選擇專案範本頁面上,從專案範本清單中選擇 AWS CodeStar 專案類型。您可使用篩選條件搜尋列,以縮減選項。例如,對於以 Node.js 撰寫的 Web 應用程式專案,以部署到 Amazon EC2 執行個體,請選取 Web 應用程式Node.jsAmazon EC2 核取方塊。然後從符合這組選項的範本中選擇。

    如需詳細資訊,請參閱AWS CodeStar 專案範本

  4. 選擇 Next (下一步)

  5. 專案名稱文字輸入欄位中,輸入專案的名稱,例如我的第一個專案。在專案 ID 中,專案的 ID 衍生自此專案名稱,但限制為 15 個字元。

    例如,名為 My First Project 之專案的預設 ID 為 my-first-projec。此專案 ID 是與專案相關聯的所有資源名稱的基礎。 AWS CodeStar 會使用此專案 ID 做為程式碼儲存庫 URL 的一部分,以及 IAM 中相關安全存取角色和政策的名稱。專案建立之後,就無法再變更其 ID。若要在建立專案之前編輯專案 ID,請在專案 ID 中輸入您要使用的 ID。

    如需專案名稱和專案 ID 限制的資訊,請參閱 中的限制 AWS CodeStar

    注意

    專案 IDs 對於 AWS 區域中 AWS 的帳戶必須是唯一的。

  6. 選擇儲存庫提供者、AWS CodeCommitGitHub (GitHub)

  7. 如果您選擇 AWS CodeCommit,請針對儲存庫名稱接受預設 AWS CodeCommit 儲存庫名稱,或輸入不同的名稱。然後跳到步驟 9。

  8. 如果您選擇 GitHub,則需要選擇或建立連線資源。如果您有現有的連線,請在搜尋欄位中選擇。否則,請立即建立新的連線。選擇連線到 GitHub

    隨即顯示建立連線頁面。

    注意

    若要建立連線,您必須擁有 GitHub 帳戶。如果您要為組織建立連線,您必須是組織擁有者。

    Form to create a GitHub App connection with a field for connection name and a connect button.
    1. 建立 GitHub 應用程式連線下,在連線名稱輸入文字欄位中輸入連線的名稱。選擇連線到 GitHub

      連線至 GitHub 頁面會顯示 ,並顯示 GitHub 應用程式欄位。

    2. GitHub Apps (GitHub 應用程式) 底下,選擇應用程式安裝,或選擇 Install a new app (安裝新應用程式) 以建立安裝。

      注意

      您可以為您連至特定供應商的所有連線安裝一個應用程式。如果您已安裝 AWS Connector for GitHub 應用程式,請選擇它並略過此步驟。

    3. 安裝 GitHub AWS 連接器頁面上,選擇您要安裝應用程式的帳戶。

      注意

      如果您先前已安裝應用程式,可以選擇 Configure (設定),繼續前往應用程式安裝的修改頁面,或者您可以使用上一步按鈕返回主控台。

    4. 如果顯示確認密碼以繼續頁面,請輸入您的 GitHub 密碼,然後選擇登入

    5. 安裝 GitHub AWS 連接器頁面上,保留預設值,然後選擇安裝

    6. 連線至 GitHub 頁面上,新安裝的安裝 ID 會顯示在 GitHub Apps 文字輸入欄位中。

      建立連線後,在 CodeStar 建立專案頁面中,即會顯示準備連線訊息。

      注意

      您可以在開發人員工具主控台的設定下檢視連線。如需詳細資訊,請參閱連線入門

      主控台螢幕擷取畫面,顯示 GitHub 儲存庫已完成的連線設定。
    7. 針對儲存庫擁有者,選擇 GitHub 組織或您的個人 GitHub 帳戶。

    8. Repository name (儲存庫名稱) 中,請接受預設 GitHub 儲存庫名稱,或輸入另一個名稱。

    9. 選擇有或私有

      注意

      若要使用 AWS Cloud9 做為您的開發環境,您必須選擇有。

    10. (選用) 在 Repository description (儲存庫描述) 中,輸入此 GitHub 儲存庫的描述。

    注意

    如果您選擇 Alexa Skill 專案範本,則需要連接 Amazon 開發人員帳戶。如需使用 Alexa Skill 專案的詳細資訊,請參閱 教學課程:在 CodeStar 中 AWS 建立 Alexa 技能專案

  9. 如果您的專案已部署到 Amazon EC2 執行個體,且您想要進行變更,請在 Amazon EC2 組態中設定 Amazon EC2 執行個體。例如,您可為專案選擇可用的執行個體類型。

    注意

    不同的 Amazon EC2 執行個體類型提供不同層級的運算能力,並且可能有不同的相關成本。如需詳細資訊,請參閱 Amazon EC2 執行個體類型Amazon EC2 定價

    如果您有多個虛擬私有雲端 (VPC) 或在 Amazon Virtual Private Cloud 中建立的多個子網路,您也可以選擇要使用的 VPC 和子網路。不過,如果您選擇專用執行個體上不支援的 Amazon EC2 執行個體類型,則無法選擇執行個體租用設定為專用的 VPC。

    如需詳細資訊,請參閱什麼是 Amazon VPC?專用執行個體基本概念

    金鑰對中,選擇您在 中建立的 Amazon EC2 金鑰對步驟 4:建立專案的 AWS CodeStar Amazon EC2 金鑰對。選取我確認我有權存取私有金鑰檔案

  10. 選擇 Next (下一步)

  11. 檢閱資源和組態詳細資訊。

  12. 選擇 Next (下一步)Create project (建立專案)。(顯示的選項視您的專案範本而定。)

    建立專案可能需要幾分鐘的時間,包括 儲存庫。

  13. 專案擁有儲存庫之後,您可以使用儲存庫頁面來設定其存取權。使用後續步驟中的連結來設定 IDE、設定問題追蹤,或將團隊成員新增至您的專案。

建立專案期間,您可透過命令列或慣用的 IDE 來新增團隊成員或針對專案儲存庫進行設定存取

在 AWS CodeStar (AWS CLI) 中建立專案

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

使用主控台來建立專案時,即會為您建立工具鏈範本。當您使用 AWS CLI 建立專案時,您可以建立工具鏈範本來建立工具鏈資源。

完整工具鏈需要以下建議的資源:

  1. 包含原始碼的 CodeCommit 或 GitHub 儲存庫。

  2. 設定為接聽儲存庫變更的 CodePipeline 管道。

    1. 當您使用 CodeBuild 執行單元或整合測試時,我們建議您將建置階段新增至管道,以建立建置成品。

    2. 建議您將部署階段新增至使用 CodeDeploy 的管道 AWS CloudFormation ,或將建置成品和原始程式碼部署至執行期基礎設施。

      注意

      由於 CodePipeline 在管道中至少需要兩個階段,而第一個階段必須是來源階段,請新增建置或部署階段做為第二個階段。

AWS CodeStar 工具鏈定義為 CloudFormation 範本

如需逐步介紹此任務和設定範例資源的教學,請參閱教學課程: AWS CodeStar 使用 在 中建立專案 AWS CLI

先決條件:

建立專案時,您可以在輸入檔案中提供以下參數。如果未提供下列項目, 會 AWS CodeStar 建立空專案。

  • 來源碼。如果此參數已包含在您的請求中,則還必須包含工具鏈範本。

    • 您的來源碼必須包含執行您的專案所需的應用程式的程式碼。

    • 您的原始碼必須包含任何必要的組態檔案,例如 CodeBuild 專案的 buildspec.yml 或 CodeDeploy 部署的 appspec.yml。

    • 您可以在原始程式碼中包含選用項目,例如 README 或非工具鏈 AWS 資源的 template.yml。

  • 工具鏈範本。您的工具鏈範本會為您的專案佈建要管理 AWS 的資源和 IAM 角色。

  • 來源位置。如果為您的專案指定來源碼和工具鏈範本,則必須提供位置。將您的來源檔案和工具鏈範本上傳至 Amazon S3 儲存貯體。 AWS CodeStar 會擷取檔案,並使用它們來建立專案。

重要

請務必在 中設定偏好的 AWS 區域 AWS CLI。您的專案是在 中設定的 AWS 區域中建立 AWS CLI。

  1. 執行 create-project 命令並納入 --generate-cli-skeleton 參數:

    aws codestar create-project --generate-cli-skeleton

    即會在輸出中顯示 JSON 格式化資料。將資料複製到本機電腦或執行個體上 AWS CLI 已安裝 的位置中的檔案 (例如 input.json)。如下所示修改複製的資料,並儲存您的結果。

    { "name": "project-name", "id": "project-id", "description": "description", "sourceCode": [ { "source": { "s3": { "bucketName": "s3-bucket-name", "bucketKey": "s3-bucket-object-key" } }, "destination": { "codeCommit": { "name": "codecommit-repository-name" }, "gitHub": { "name": "github-repository-name", "description": "github-repository-description", "type": "github-repository-type", "owner": "github-repository-owner", "privateRepository": true, "issuesEnabled": true, "token": "github-personal-access-token" } } } ], "toolchain": { "source": { "s3": { "bucketName": "s3-bucket-name", "bucketKey": "s3-bucket-object-key" } }, "roleArn": "service-role-arn", "stackParameters": { "KeyName": "key-name" } }, "tags": { "KeyName": "key-name" } }

    取代以下項目:

    • project-name:必要。此 AWS CodeStar 專案的易記名稱。

    • project-id:必要。此專案的 AWS CodeStar 專案 ID。

      注意

      建立專案時,您必須擁有唯一的專案 ID。如果提交具有已存在專案 ID 的輸入檔,您會遇到錯誤。

    • description:選用。此 AWS CodeStar 專案的描述。

    • sourceCode:選用。提供給專案的來源碼組態資訊。目前只支援單一 sourceCode 物件。每個sourceCode物件都包含擷取來源碼的位置, AWS CodeStar 以及填入來源碼的目的地的相關資訊。

      • source:必要。這可定義您上傳來源碼的位置。唯一支援的來源是 Amazon S3. AWS CodeStar retrieve the source code,並在建立專案後將其包含在儲存庫中。

        • S3:選用。原始程式碼的 Amazon S3 位置。

          • bucket-name:包含您的來源碼的儲存貯體。

          • bucket-key:指向包含您的來源碼的 .zip 檔案 (例如,src.zip) 的儲存貯體字首和物件金鑰。

      • destination:選用。建立專案時您的來源碼要填入的目的地位置。原始碼支援的目的地為 CodeCommit 和 GitHub。

        您只可以提供這兩個選項中的一個:

        • codeCommit:唯一必要的屬性是 CodeCommit 儲存庫的名稱,其中應包含您的原始程式碼。這個儲存庫應該在您的工具鏈範本中。

          注意

          對於 CodeCommit,您必須提供您在工具鏈堆疊中定義的儲存庫名稱。 會使用您在 Amazon S3 中提供的原始碼 AWS CodeStar 初始化此儲存庫。

        • gitHub:此物件代表建立 GitHub 儲存庫並對它植入來源碼所需的資訊。如果您選擇 GitHub 儲存庫,則以下為必要值。

          注意

          對於 GitHub,您無法指定現有的 GitHub 儲存庫。 會為您 AWS CodeStar 建立一個儲存庫,並使用您上傳到 Amazon S3 的原始碼填入此儲存庫。 AWS CodeStar 會使用以下資訊在 GitHub 中建立您的儲存庫。

          • name:必要。您的 GitHub 儲存庫的名稱。

          • description:必要。您的 GitHub 儲存庫的描述。

          • type:必要。GitHub 儲存庫的類型。有效值為 User 或 Organization。

          • owner:必要。您的儲存庫擁有者的 GitHub 使用者 名稱。如果儲存庫應該由 GitHub 組織擁有,請提供組織名稱。

          • privateRepository:必要。希望此儲存庫是私有或公有。有效值為 true 或 false。

          • issuesEnabled:必要。是否要在 GitHub 中使用此儲存庫啟用問題。有效值為 true 或 false。

          • Token:選用。這是 AWS CodeStar 用於存取 GitHub 帳戶的個人存取字符。此字符必須包含以下範圍:repouseradmin:repo_hook。若要從 GitHub 擷取個人存取字符,請參閱 GitHub 網站上的 Creating a Personal Access Token for the Command Line

            注意

            如果您使用 CLI 建立具有 GitHub 來源儲存庫的專案, AWS CodeStar 會使用您的字符透過 OAuth 應用程式存取儲存庫。如果您使用 主控台建立具有 GitHub 來源儲存庫的專案, AWS CodeStar 會使用連線資源,以 GitHub 應用程式存取儲存庫。

        • toolchain:建立專案時要設定的 CI/CD 工具鏈的相關資訊。這包括您上傳工具鏈範本的位置。範本會建立 AWS CloudFormation 堆疊,其中包含您的工具鏈資源。這也包含 AWS CloudFormation 參考的任何參數覆寫,以及用於建立堆疊的角色。 AWS CodeStar 會擷取範本並使用 AWS CloudFormation 執行範本。

          • source:必要。工具鏈範本的位置。Amazon S3 是唯一支援的來源位置。

            • S3:選用。您上傳工具鏈範本的 Amazon S3 位置。

              • bucket-name:Amazon S3 儲存貯體名稱。

              • bucket-key:指向包含您的工具鏈範本的 .yml 或 .json 檔案 (例如,files/toolchain.yml) 的儲存貯體字首和物件金鑰。

          • stackParameters:選用。包含要傳送至 AWS CloudFormation的金鑰值對。這些是您的工具鏈範本設定要參考的參數 (如果有)。

          • role:選用。此角色用於建立在您的帳戶中建立工具鏈資源。需要的角色如下所示:

            • 如果未提供角色,則如果工具鏈是 AWS CodeStar 快速入門範本, AWS CodeStar 會使用為您的帳戶建立的預設服務角色。如果服務角色不存在於您的帳戶,則可以建立一個角色。如需相關資訊,請參閱 步驟 2:建立 AWS CodeStar 服務角色

            • 如果您上傳並使用自己的自訂工具鏈範本,則必須提供該角色。您可以根據 AWS CodeStar 服務角色和政策陳述式來建立角色。如需此政策陳述式的範例,請參閱 AWSCodeStarServiceRole 政策

        • tags:選用。連接至 AWS CodeStar 專案的標籤。

          注意

          這些標籤未連接到專案中包含的資源。

  2. 切換到包含您剛儲存之檔案的目錄,然後再次執行 create-project 命令。納入 --cli-input-json 參數。

    aws codestar create-project --cli-input-json file://input.json
  3. 若執行成功,則會在輸出中顯示與下列內容相似的資料:

    { "id": "project-ID", "arn": "arn" }
    • 輸出包含新專案的資訊:

      • id 值代表專案 ID。

      • arn 值代表專案的 ARN。

  4. 使用 describe-project 命令來檢查專案建立的狀態。納入 --id 參數。

    aws codestar describe-project --id <project_ID>

    類似下列內容的資料會顯示在輸出中:

    { "name": "MyProject", "id": "myproject", "arn": "arn:aws:codestar:us-east-1:account_ID:project/myproject", "description": "", "createdTimeStamp": 1539700079.472, "stackId": "arn:aws:cloudformation:us-east-1:account_ID:stack/awscodestar-myproject/stack-ID", "status": { "state": "CreateInProgress" } }
    • 輸出包含新專案的資訊:

      • state 值代表專案建立的狀態 (如 CreateInProgressCreateComplete)。

建立專案期間,您可透過命令列或慣用的 IDE 來新增團隊成員或針對專案儲存庫進行設定存取