2024 年 7 月 31 日,Amazon Web Services (AWS) 將停止建立和檢視 AWS CodeStar 專案的支援。2024 年 7 月 31 日之後,您將無法再存取 AWS CodeStar 主控台或建立新專案。但是 AWS CodeStar,由建立的 AWS 資源 (包括您的來源儲存庫、管道和組建) 將不受此變更的影響,並將繼續運作。 AWS CodeStar 連線和 AWS CodeStar 通知不會受到此停止的影響。
如果您想要追蹤工作、開發程式碼以及建置、測試和部署應用程式,Amazon CodeCatalyst 提供簡化的入門程序和其他功能來管理軟體專案。進一步了解 Amazon 的功能
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 AWS CodeStar 中建立專案
您可以使用 AWS CodeStar 主控台來建立專案。如果您使用專案範本,它會為您設定所需的資源。該範本還包含可讓您用來開始編寫程式碼的範例程式碼。
若要建立專案,請使用具有AWSCodeStarFullAccess
政策或同等權限的 IAM 使用者登入。AWS Management Console如需詳細資訊,請參閱設定 AWS CodeStar。
注意
您必須先完成中的步驟,設定 AWS CodeStar才能完成本主題中的程序。
在 AWS CodeStar 中建立專案 (主控台)
使用 AWS CodeStar 主控台來建立專案。
在 AWS CodeStar 中建立專案
-
請登入AWS Management Console,然後開啟AWS CodeStar主控台,位於 https://console.aws.amazon.com/codestar/
。 請確認已登入至您想要建立專案及其資源的 AWS 區域。例如,若要在美國東部 (俄亥俄州) 建立專案,請確定您已選取該AWS區域。如需有關可用AWS區域AWS CodeStar的資訊,請參閱AWS一般參考中的區域和端點。
-
在AWS CodeStar頁面上,選擇 [建立專案]。
-
在 [選擇專案範本] 頁面上,從專案範本清單中選擇AWS CodeStar專案類型。您可使用篩選條件搜尋列,以縮減選項。例如,若要將以 Node.js 撰寫的 Web 應用程式專案部署到 Amazon EC2 執行個體,請選取 Web 應用程式 Node.js 和 Amazon EC2 核取方塊。然後從符合這組選項的範本中選擇。
如需詳細資訊,請參閱AWS CodeStar 專案範本。
-
選擇 Next (下一步)。
-
在「專案名稱」文字輸入欄位中,輸入專案的名稱,例如「
我的第一個專案
」。在專案 ID 中,專案的 ID 衍生自此專案名稱,但限制為 15 個字元。例如,名為「
我的第一個專案」的專案的
預設 ID 為my-first-projec
。此專案 ID 是與專案相關聯之所有資源名稱的基礎。 AWS CodeStar使用此專案 ID 做為程式碼儲存庫 URL 的一部分,以及 IAM 中相關安全存取角色和政策的名稱。專案建立之後,就無法再變更其 ID。若要在建立專案之前編輯專案 ID,請在「專案 ID」中輸入您要使用的 ID。如需專案名稱和專案 ID 限制的資訊,請參閱 AWS CodeStar 中的限制。
注意
專案 ID 必須專屬於您在 AWS 區域中的 AWS 帳戶。
-
選擇儲存區域提供者,AWS CodeCommit或GitHub。
-
若您選擇 AWS CodeCommit,則在 Repository name (儲存庫名稱) 中,請接受預設 AWS CodeCommit 儲存庫名稱,或輸入另一個名稱。然後跳到步驟 9。
-
如果您選擇 GitHub,則需要選擇或建立連線資源。如果您有現有的連線,請在搜尋欄位中選擇該連線。否則,請立即建立新連線。選擇「Connect 至」 GitHub。
[建立連線] 頁面隨即顯示。
注意
若要建立連線,您必須擁有一個 GitHub 帳戶。如果您要為組織建立連線,您必須是組織擁有者。
-
在 [建立 GitHub 應用程式連線] 下的 [連線名稱] 輸入文字欄位中,輸入連線名稱。選擇「Connect 至」 GitHub。
[Connect 到] GitHub 頁面隨即顯示並顯示 [GitHub 應用程式] 欄位。
-
在 [GitHub 應用程式] 下方,選擇應用程式安裝,或選擇 [安裝新的應用程式] 來建立
注意
您可以為您連至特定供應商的所有連線安裝一個應用程式。如果您已經安裝 GitHub 應用程式的AWS連接器,請選擇該連接器並略過此步驟。
-
在 [安裝AWS連接器 GitHub] 頁面上,選擇您要安裝應用程式的帳戶。
注意
如果您先前已安裝應用程式,可以選擇 Configure (設定),繼續前往應用程式安裝的修改頁面,或者您可以使用上一步按鈕返回主控台。
-
如果顯示 [確認密碼以繼續] 頁面,請輸入您的 GitHub 密碼,然後選擇 [登入]。
-
在 [安裝AWS連接器以下項目 GitHub] 頁面上,保留預設值,然後選擇 [安裝]。
-
在 [Connect 至] GitHub 頁面上,新安裝的安裝 ID 會出現在 [GitHub 應用程式] 文字輸入欄位中。
建立連線後,會在「 CodeStar 建立專案」頁面中顯示「準備連線」訊息。
注意
您可以在「開發人員工具」主控台的「設定」 下檢視連線。如需詳細資訊,請參閱開始使用連線。
-
對於存放庫擁有者,請選擇 GitHub 組織或您的個人 GitHub 帳戶。
-
對於存放庫名稱,請接受預設 GitHub 存放庫名稱,或輸入不同的存放庫名稱。
-
選擇「公開」或「私人」
注意
若要用AWS Cloud9作開發環境,您必須選擇 [公用]。
-
(選擇性) 在存放庫說明中,輸入 GitHub 存放庫的說明。
注意
如果您選擇 Alexa 技能項目模板,則需要連接一個亞馬遜開發人員帳戶。如需使用 Alexa 技能專案的詳細資訊,請參閱教學課程:在中建立 Alexa 技能專案 AWS CodeStar。
-
-
如果您的專案已部署到 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 金鑰對。選取 [我確認我有權存取私密金鑰檔案]。
-
選擇下一步。
-
檢閱資源和組態詳細資訊。
-
選擇 Next (下一步) 或 Create project (建立專案)。(顯示的選項視您的專案範本而定。)
建立專案可能需要幾分鐘的時間,包括存放庫。
-
在專案擁有儲存區域之後,您可以使用「儲存區域」頁面來設定其存取權。使用後續步驟中的連結來設定 IDE、設定問題追蹤,或將團隊成員新增至您的專案。
建立專案期間,您可透過命令列或慣用的 IDE 來新增團隊成員或針對專案儲存庫進行設定存取。
在 AWS CodeStar 中建立專案 (AWS CLI)
AWS CodeStar 專案是建立用來部署程式碼的來源碼和資源的組合。可協助您建置、發佈和部署程式碼的資源集合,稱為工具鏈資源。在建立專案時,AWS CloudFormation 範本使用連續整合/連續部署 (CI/CD) 管道佈建您的工具鏈資源。
使用主控台來建立專案時,即會為您建立工具鏈範本。使用 AWS CLI 來建立專案時,您會建立可建立工具鏈資源的工具鏈範本。
完整工具鏈需要以下建議的資源:
-
包含您的原始程式碼的 CodeCommit 或 GitHub 儲存庫。
-
配置為監聽存放庫變更的 CodePipeline 管道。
-
當您使用執 CodeBuild 行單元或整合測試時,建議您將建置階段新增至管道以建立組建成品。
-
我們建議您將部署階段新增至管道,以使用 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。
-
執行 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 帳戶的個人訪問令牌。此字符必須包含以下範圍:repo、user 和 admin: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 專案的標籤。注意
這些標籤未連接到專案中包含的資源。
-
-
-
-
切換到包含您剛儲存之檔案的目錄,然後再次執行 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 來新增團隊成員或針對專案儲存庫進行設定存取。