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 CloudFormation檔案,該檔案會建立應用程式的AWS執行階段相依性,例如資料庫資料表和 Lambda 函數。此檔案存放於檔案 /template.yml
中的來源儲存庫。
注意
您可以對以下專案使用這些步驟,使用下列建立的專案支援變更:
-
任何 Lambda 專案。
-
對於 2018 年 8 月 3 日之後建立的 Amazon EC2 或 Elastic Beanstalk 專案,在專案儲存庫中AWS CodeStar佈建
/template.yml
檔案。
您可以藉由新增 AWS CloudFormation 資源到 Resources
部分來修改此檔案。修改 template.yml
檔案允許 AWS CodeStar 和 AWS CloudFormation 將新資源加入到您的專案。某些資源會要求您將其他權限新增至專案 CloudFormation 背景工作者角色的原則。如需範本元素和格式的詳細資訊,請參閱AWS資源類型參考。
在判斷哪些資源必須新增到專案之後,需遵循這些高階步驟來自訂範本。如需AWS CloudFormation資源及其必要屬性的清單,請參閱AWS資源類型參考。
使用本節中的步驟修改AWS CodeStar專案範本以新增資源,然後在 IAM 中展開專案 CloudFormation 背景工作者角色的許可。在此範例中,會將AWS::SQS::Queue資源新增至template.yml
檔案。變更會啟動自動回應AWS CloudFormation,將 Amazon 簡單佇列服務佇列新增至您的專案。
步驟 1:在 IAM 中編輯 CloudFormation背景工作角色
您必須以系統管理員身分登入,才能執行步驟 1 和 5。
注意
如果您的專案是使用許可界限政策來佈建,則可以略過此步驟。
對於在 2018 年 12 月 6 日 (PDT) 之後建立的專案,請使用權限界限原則AWS CodeStar佈建您的專案。
-
請登入AWS Management Console並開啟AWS CodeStar主控台,網址為 https://console.aws.amazon.com/codestar/
。 -
建立專案或選擇使用
template.yml file
的現有專案,然後開啟 Project resources (專案資源) 頁面。 -
在「專案資源」下,找出資源清單中為 CodeStarWorker/AWS CloudFormation角色建立的 IAM 角色。該角色名稱遵循此格式:
role/CodeStarWorker-
。Project_name
-CloudFormation -
在 IAM 主控台開啟該角色。在 Permissions (許可) 標籤上,擴展 Inline Policies (內嵌政策)的服務角色政策列,並選擇 Edit Policy (編輯政策)。
-
選擇 JSON 標籤以編輯政策。
注意
連接至工作者角色的政策是
CodeStarWorkerCloudFormationRolePolicy
。 -
在 JSON 欄位中,在
Statement
元素中新增下列政策聲明:{ "Action": [ "sqs:CreateQueue", "sqs:DeleteQueue", "sqs:GetQueueAttributes", "sqs:SetQueueAttributes", "sqs:ListQueues", "sqs:GetQueueUrl" ], "Resource": [ "*" ], "Effect": "Allow" }
-
選擇 Review policy (檢閱政策) 以確保政策沒有包含錯誤,然後選擇 Save changes (儲存變更)。
步驟 2:修改 template.yml 檔案
-
請在以下位置開啟AWS CodeStar主控台。
https://console.aws.amazon.com/codestar/ -
選擇您的無伺服器專案,然後開啟程式碼頁面。在最高階的儲存庫中,記下
template.yml
的位置。 -
使用 IDE、主控台或本機儲存庫的命令列來編輯儲存庫中的
template.yml
檔案。將資源貼到Resources
部分。在本範例中,當以下文字被複製,便會新增Resources
部分。Resources: TestQueue: Type: AWS::SQS::Queue
此範例顯示修改過的範本:
步驟 3:遞交和推送您的範本變更
-
遞交和推送在步驟 2 儲存的
template.yml
檔案中的變更。注意
此會啟動您的管道。如果您在更新 IAM 許可之前遞交變更,您的管道開始執行,且 AWS CloudFormation 堆疊更新發生錯誤,造成堆疊更新會還原。如果發生這種情況,請修正權限,然後重新啟動您的管道。
步驟 4:監視 AWS CloudFormation 堆疊更新
-
當專案的管道啟動部署階段,AWS CloudFormation 堆疊更新便會開始。您可以在您的 AWS CodeStar 儀表板上的管道中選擇 AWS CloudFormation 階段,以查看堆疊更新。
故障診斷:
如果所需的資源許可權遺失,堆疊更新會失敗。在 AWS CodeStar 儀表板查看您專案的管道的故障狀態。
選擇管道部署階段中的CloudFormation連結,以便在AWS CloudFormation主控台中對故障進行疑難排解。在主控台的 Events (事件) 清單中,選擇您的專案以檢視堆疊建立詳細資訊。有一個訊息顯示故障詳細資訊。在此範例中,
sqs:CreateQueue
許可遺失。透過編輯連接到您專案的 AWS CloudFormation 工作者角色之政策來新增任何遺失的許可。請參閱 步驟 1:在 IAM 中編輯 CloudFormation背景工作角色。
-
成功執行您的管道之後,AWS CloudFormation 堆疊中會建立資源。在的 [資源] 清單中AWS CloudFormation,檢視為您的專案建立的資源。在此範例中, TestQueue佇列會列在 [資源] 區段中。
佇列 URL 可用於 AWS CloudFormation。佇列 URL 遵循以下格式:
https://{REGION_ENDPOINT}/queue.|api-domain|/{YOUR_ACCOUNT_NUMBER}/{YOUR_QUEUE_NAME}
如需詳細資訊,請參閱傳送 Amazon SQS 訊息、接收來自 Amazon SQS 佇列的訊息,以及刪除來自 Amazon SQS 佇列的訊息。
步驟 5:在資源許可新增內嵌政策
授予團隊成員存取您的新資源的權限,做法是新增適當的內嵌政策並加入到使用者的角色。並不是所有資源都需要您新增許可。若要執行下列步驟,您必須以 root 使用者、帳戶中的系統管理員使用者身分登入主控台,或使用AdministratorAccess
受管政策或同等政策的 IAM 使用者或聯合身分登入主控台。
若要使用 JSON 政策編輯器來建立政策
登入 AWS Management Console,並開啟位於 https://console.aws.amazon.com/iam/
的 IAM 主控台。 -
在左側的導覽窗格中,選擇 Policies (政策)。
如果這是您第一次選擇 Policies (政策),將會顯示 Welcome to Managed Policies (歡迎使用受管政策) 頁面。選擇 Get Started (開始使用)。
-
在頁面頂端,選擇 Create policy (建立政策)。
-
在政策編輯器中,選擇 JSON 選項。
-
輸入下列 JSON 政策文件:
{ "Action": [ "sqs:CreateQueue", "sqs:DeleteQueue", "sqs:GetQueueAttributes", "sqs:SetQueueAttributes", "sqs:ListQueues", "sqs:GetQueueUrl" ], "Resource": [ "*" ], "Effect": "Allow" }
-
選擇下一步。
注意
您可以隨時切換視覺化與 JSON 編輯器選項。不過,如果您進行變更或在視覺化編輯器中選擇下一步,IAM 就可能會調整您的政策結構,以便針對視覺化編輯器進行最佳化。如需詳細資訊,請參閱 IAM 使用者指南中的調整政策結構。
-
在檢視與建立頁面上,為您正在建立的政策輸入政策名稱與描述 (選用)。檢視此政策中定義的許可,來查看您的政策所授予的許可。
-
選擇 Create policy (建立政策) 儲存您的新政策。