在 AWS CodeStar 中建立專案 - AWS CodeStar

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

在 AWS CodeStar 中建立專案

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

若要建立專案,請登入AWS Management Console的 IAM 用户,該用户具有AWSCodeStarFullAccess策略或等效權限。如需詳細資訊,請參閱 設定 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.js,和Amazon EC2核取方塊。然後從符合這組選項的範本中選擇。

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

  4. 選擇 Next (下一步)。

  5. InProject name (專案名稱)中,輸入此專案的名稱,如我的第一個項目。In專案 ID時,專案的 ID 衍生自其名稱,但上限為 15 個字元。

    例如,專案名為我的第一個項目我的第一個過程。此專案 ID 是所有與專案關聯的資源名稱的基礎。AWS CodeStar 會將此專案 ID 用在您的程式碼儲存庫 URL,也會用在 IAM 中相關安全存取角色和政策的名稱。專案建立之後,就無法再變更其 ID。欲在建立專案前編輯專案 ID,請在專案 ID中,輸入您想要使用的 ID。

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

    注意

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

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

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

  8. 如果您選擇了GitHub,則需要選擇或創建連接資源。如果您有現有連接,請在搜索字段中選擇該連接。否則,請立即建立新的連線。選擇 ​Connect to GitHub (連線到 GitHub)

    所以此建立連線頁面顯示。

    注意

    若要建立連線,您必須擁有 GitHub 帳户。如果要為組織創建連接,則必須是組織所有者。

    1. 創建 GitHub 應用程序連接, 在連線名稱 (Connection name)中,輸入連線的名稱。選擇 ​Connect to GitHub (連線到 GitHub)

      所以此Connect 至 GitHub頁面顯示並顯示GitHub 應用程式欄位。

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

      注意

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

    3. 安裝AWSGitHub Connector to頁面上,選擇您想安裝應用程式的帳户。

      注意

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

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

    5. 安裝AWSGitHub Connector to頁面上,保留預設值,然後選擇安裝

    6. Connect 至 GitHub頁面上,新安裝的安裝 ID 會顯示在GitHub 應用程式

      創建連接後,在 CodeStar 創建項目頁面中,消息準備好連線顯示。

      注意

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

      
                        主控台螢幕抓取畫面,其中顯示 GitHub 儲存庫設定的已填妥連接。
    7. 適用於儲存庫擁有者下,選擇 GitHub 組織或您的個人 GitHub 帳户。

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

    9. 選擇公有或者私有

      注意

      使用AWS Cloud9作為開發環境,則必須選擇公有

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

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

    注意

    不同的 Amazon EC2 執行個體類型具備不同層級的運算能力,而且相關聯的成本可能也有差異。如需詳細資訊,請參閱「」Amazon EC2 執行個體類型Amazon EC2 定價

    若您在 Amazon 虛擬私有雲端中建立多個虛擬私有雲端 (VPC) 或多個子網路,您也可選用 VPC 和子網路。不過,若您選擇的 Amazon EC2 執行個體類型不受專用執行個體支援,則無法選擇執行個體租用設為專用型

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

    In金鑰對 (Key pair)中,選擇您剛才在建立的 Amazon EC2 金 key pair步驟 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 或用於非工具鏈的範本 .ymlAWS的費用。

  • 工具鏈範本。您的工具鏈模板預置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" } }

    取代下列項目:

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

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

      注意

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

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

    • sourceCode:選用。提供給專案的來源碼組態資訊。目前只支援單一 sourceCode 物件。EACHERsourceCode對象包含有關 AWS CodeStar 檢索來源碼的位置,以及填入來源碼的目的地的資訊。

      • 來源:必要。這可定義您上傳來源碼的位置。唯一受支持的源是 Amazon S3。建立您的專案後,AWS CodeStar 會檢索來源碼,並將它包含在儲存庫中。

        • S3:選用。來源碼的 Amazon S3 位置。

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

          • 儲存儲體金鑰:指向包含您的來源碼的 .zip 檔案 (例如,src.zip

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

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

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

          注意

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

        • GitHub:此物件代表建立 GitHub 儲存庫並將其種子所需的資訊。如果您選擇 GitHub 儲存庫,則以下為必要值。

          注意

          對於 GitHub,您不能指定現有的 GitHub 存儲庫。AWS CodeStar 會為您建立一個,並將此儲存庫填入您上傳到 Amazon S3 的來源碼。AWS CodeStar 使用以下信息在 GitHub 中創建您的存儲庫。

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

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

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

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

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

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

          • 代幣:選用。這是 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 應用程序訪問存儲庫。

        • 工具鏈:建立專案時要設定的 CI/CD 工具鏈的相關資訊。這包括您上傳工具鏈範本的位置。範本會建立 AWS CloudFormation 堆疊,其中包含您的工具鏈資源。這也包括AWS CloudFormation引用以及用於創建堆棧的角色。AWS CodeStar 檢索模板並使用AWS CloudFormation來運行範本。

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

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

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

              • 儲存儲體金鑰:指向包含您的工具鏈範本的 .yml 或 .json 檔案 (例如,files/toolchain.yml

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

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

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

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

        • 標籤:選用。連接到您的 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 來新增團隊成員或針對專案儲存庫進行設定存取