在 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 主控台來建立專案。如果您使用專案範本,它會為您設定所需的資源。該範本還包含可讓您用來開始編寫程式碼的範例程式碼。

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

注意

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

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

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

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

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

  2. AWS CodeStar頁面上,選擇 [建立專案]。

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

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

  4. 選擇 Next (下一步)。

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

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

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

    注意

    專案 ID 必須專屬於您在 AWS 區域中的 AWS 帳戶。

  6. 選擇儲存區域提供者,AWS CodeCommitGitHub

  7. 若您選擇 AWS CodeCommit,則在 Repository name (儲存庫名稱) 中,請接受預設 AWS CodeCommit 儲存庫名稱,或輸入另一個名稱。然後跳到步驟 9。

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

    [建立連線] 頁面隨即顯示。

    注意

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

    1. 在 [建立 GitHub 應用程式連線] 下的 [連線名稱] 輸入文字欄位中,輸入連線名稱。選擇「Connect 至」 GitHub。

      [Connect 到] GitHub 頁面隨即顯示並顯示 [GitHub 應用程式] 欄位。

    2. 在 [GitHub 應用程式] 下方,選擇應用程式安裝,或選擇 [安裝新的應用程式] 來建立

      注意

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

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

      注意

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

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

    5. 在 [安裝AWS連接器以下項目 GitHub] 頁面上,保留預設值,然後選擇 [安裝]。

    6. 在 [Connect 至] GitHub 頁面上,新安裝的安裝 ID 會出現在 [GitHub 應用程式] 文字輸入欄位中。

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

      注意

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

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

    8. 對於存放庫名稱,請接受預設 GitHub 存放庫名稱,或輸入不同的存放庫名稱。

    9. 選擇「公開」或「私人

      注意

      若要用AWS Cloud9作開發環境,您必須選擇 [用]。

    10. (選擇性) 在存放庫說明中,輸入 GitHub 存放庫的說明。

    注意

    如果您選擇 Alexa 技能項目模板,則需要連接一個亞馬遜開發人員帳戶。如需使用 Alexa 技能專案的詳細資訊,請參閱教學課程:在中建立 Alexa 技能專案 AWS CodeStar

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

    注意

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

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

    如需詳細資訊,請參閱什麼是 Amazon VPC? 和專用執行個體基礎知識

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

  10. 選擇下一步

  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 專案的建置規格 .yml 或用於部署的 appspec.yml。 CodeDeploy

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

  • 工具鏈範本。您的工具鏈範本會為您的專案佈建要管理的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檢索源代碼,並在創建項目後將其包含在存儲庫中。

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

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

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

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

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

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

          注意

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

        • 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。

          • 令牌:可選。這是AWS CodeStar用於訪問您 GitHub 帳戶的個人訪問令牌。此字符必須包含以下範圍:repouseradmin:repo_hook。若要從中擷取個人存取權杖 GitHub,請參閱在 GitHub 網站上為命令列建立個人存取權杖。

            注意

            如果您使用 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 位置。

              • 儲存貯體名稱: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 來新增團隊成員或針對專案儲存庫進行設定存取