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 管理主控台 請使用具有 AWSCodeStarFullAccess政策或同等許可的 IAM 使用者登入 。如需詳細資訊,請參閱設定 AWS CodeStar。
注意
您必須完成 中的步驟,設定 AWS CodeStar才能完成本主題中的程序。
在 AWS CodeStar 中建立專案 (主控台)
使用 AWS CodeStar 主控台建立專案。
在 中建立專案 AWS CodeStar
-
登入 AWS 管理主控台,然後開啟 AWS CodeStar 主控台,網址為 https://https://console.aws.amazon.com/codestar/
。 請確定您已登入要建立專案及其資源的 AWS 區域。例如,若要在美國東部 (俄亥俄) 建立專案,請確定您已選取該 AWS 區域。如需 AWS CodeStar 可用 AWS 區域的相關資訊,請參閱《 AWS 一般參考》中的區域和端點。
-
在頁面上AWS CodeStar,選擇建立專案。
-
在選擇專案範本頁面上,從專案範本清單中選擇 AWS CodeStar 專案類型。您可使用篩選條件搜尋列,以縮減選項。例如,對於以 Node.js 撰寫的 Web 應用程式專案,以部署到 Amazon EC2 執行個體,請選取 Web 應用程式、Node.js 和 Amazon EC2 核取方塊。然後從符合這組選項的範本中選擇。
如需詳細資訊,請參閱AWS CodeStar 專案範本。
-
選擇 Next (下一步)。
-
在專案名稱文字輸入欄位中,輸入專案的名稱,例如
我的第一個專案。在專案 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 的帳戶必須是唯一的。
-
選擇儲存庫提供者、AWS CodeCommit 或 GitHub (GitHub)。
-
如果您選擇 AWS CodeCommit,請針對儲存庫名稱接受預設 AWS CodeCommit 儲存庫名稱,或輸入不同的名稱。然後跳到步驟 9。
-
如果您選擇 GitHub,則需要選擇或建立連線資源。如果您有現有的連線,請在搜尋欄位中選擇。否則,請立即建立新的連線。選擇連線到 GitHub。
隨即顯示建立連線頁面。
注意
若要建立連線,您必須擁有 GitHub 帳戶。如果您要為組織建立連線,您必須是組織擁有者。
-
在建立 GitHub 應用程式連線下,在連線名稱輸入文字欄位中輸入連線的名稱。選擇連線到 GitHub。
連線至 GitHub 頁面會顯示 ,並顯示 GitHub 應用程式欄位。
-
在 GitHub Apps (GitHub 應用程式) 底下,選擇應用程式安裝,或選擇 Install a new app (安裝新應用程式) 以建立安裝。
注意
您可以為您連至特定供應商的所有連線安裝一個應用程式。如果您已安裝 AWS Connector for GitHub 應用程式,請選擇它並略過此步驟。
-
在安裝 GitHub AWS 連接器頁面上,選擇您要安裝應用程式的帳戶。
注意
如果您先前已安裝應用程式,可以選擇 Configure (設定),繼續前往應用程式安裝的修改頁面,或者您可以使用上一步按鈕返回主控台。
-
如果顯示確認密碼以繼續頁面,請輸入您的 GitHub 密碼,然後選擇登入。
-
在安裝 GitHub AWS 連接器頁面上,保留預設值,然後選擇安裝。
-
在連線至 GitHub 頁面上,新安裝的安裝 ID 會顯示在 GitHub Apps 文字輸入欄位中。
建立連線後,在 CodeStar 建立專案頁面中,即會顯示準備連線訊息。
注意
您可以在開發人員工具主控台的設定下檢視連線。如需詳細資訊,請參閱連線入門。
-
針對儲存庫擁有者,選擇 GitHub 組織或您的個人 GitHub 帳戶。
-
在 Repository name (儲存庫名稱) 中,請接受預設 GitHub 儲存庫名稱,或輸入另一個名稱。
-
選擇公有或私有。
注意
若要使用 AWS Cloud9 做為您的開發環境,您必須選擇公有。
-
(選用) 在 Repository description (儲存庫描述) 中,輸入此 GitHub 儲存庫的描述。
注意
如果您選擇 Alexa Skill 專案範本,則需要連接 Amazon 開發人員帳戶。如需使用 Alexa Skill 專案的詳細資訊,請參閱 教學課程:在 CodeStar 中 AWS 建立 Alexa 技能專案。
-
-
如果您的專案已部署到 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 金鑰對。選取我確認我有權存取私有金鑰檔案。
-
選擇 Next (下一步)。
-
檢閱資源和組態詳細資訊。
-
選擇 Next (下一步) 或 Create project (建立專案)。(顯示的選項視您的專案範本而定。)
建立專案可能需要幾分鐘的時間,包括 儲存庫。
-
專案擁有儲存庫之後,您可以使用儲存庫頁面來設定其存取權。使用後續步驟中的連結來設定 IDE、設定問題追蹤,或將團隊成員新增至您的專案。
建立專案期間,您可透過命令列或慣用的 IDE 來新增團隊成員或針對專案儲存庫進行設定存取。
在 AWS CodeStar (AWS CLI) 中建立專案
AWS CodeStar 專案是原始程式碼與資源的組合,這些資源是用來部署程式碼。可協助您建置、發佈和部署程式碼的資源集合,稱為工具鏈資源。在專案建立時, CloudFormation 範本會在持續整合/持續部署 (CI/CD) 管道中佈建您的工具鏈資源。
使用主控台來建立專案時,即會為您建立工具鏈範本。當您使用 AWS CLI 建立專案時,您可以建立工具鏈範本來建立工具鏈資源。
完整工具鏈需要以下建議的資源:
-
包含原始碼的 CodeCommit 或 GitHub 儲存庫。
-
設定為接聽儲存庫變更的 CodePipeline 管道。
-
當您使用 CodeBuild 執行單元或整合測試時,我們建議您將建置階段新增至管道,以建立建置成品。
-
建議您將部署階段新增至使用 CodeDeploy 的管道 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。
-
執行 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 帳戶的個人存取字符。此字符必須包含以下範圍:repo、user 和 admin: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 工具鏈的相關資訊。這包括您上傳工具鏈範本的位置。範本會建立 CloudFormation 堆疊,其中包含您的工具鏈資源。這也包含 CloudFormation 參考的任何參數覆寫,以及用於建立堆疊的角色。 AWS CodeStar 會擷取範本並使用 CloudFormation 執行範本。-
source:必要。工具鏈範本的位置。Amazon S3 是唯一支援的來源位置。-
S3:選用。您上傳工具鏈範本的 Amazon S3 位置。-
bucket-name:Amazon S3 儲存貯體名稱。 -
bucket-key:指向包含您的工具鏈範本的 .yml 或 .json 檔案 (例如,files/toolchain.yml) 的儲存貯體字首和物件金鑰。
-
-
-
stackParameters:選用。包含要傳送至 CloudFormation的金鑰值對。這些是您的工具鏈範本設定要參考的參數 (如果有)。 -
role:選用。此角色用於建立在您的帳戶中建立工具鏈資源。需要的角色如下所示:-
如果未提供角色,則如果工具鏈是 AWS CodeStar 快速入門範本, AWS CodeStar 會使用為您的帳戶建立的預設服務角色。如果服務角色不存在於您的帳戶,則可以建立一個角色。如需相關資訊,請參閱 步驟 2:建立 AWS CodeStar 服務角色。
-
如果您上傳並使用自己的自訂工具鏈範本,則必須提供該角色。您可以根據 AWS CodeStar 服務角色和政策陳述式來建立角色。如需此政策陳述式的範例,請參閱 AWSCodeStarServiceRole 政策。
-
-
-
tags:選用。連接至 AWS CodeStar 專案的標籤。注意
這些標籤未連接到專案中包含的資源。
-
-
-
-
切換到包含您剛儲存之檔案的目錄,然後再次執行 create-project 命令。納入
--cli-input-json參數。aws codestar create-project --cli-input-json file://input.json -
若執行成功,則會在輸出中顯示與下列內容相似的資料:
{ "id": "project-ID", "arn": "arn" }-
輸出包含新專案的資訊:
-
id值代表專案 ID。 -
arn值代表專案的 ARN。
-
-
-
使用 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值代表專案建立的狀態 (如CreateInProgress或CreateComplete)。
-
-
建立專案期間,您可透過命令列或慣用的 IDE 來新增團隊成員或針對專案儲存庫進行設定存取。