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內的常見問題。
主題
- 專案建立失敗:專案未建立
- 專案建立:我在建立專案時嘗試編輯 Amazon EC2 組態時看到錯誤
- 專案刪除:已刪除 AWS CodeStar 專案,但資源仍然存在
- 團隊管理失敗:IAM 使用者無法新增至 AWS CodeStar 專案中的團隊
- 存取失敗:聯合使用者無法存取專案 AWS CodeStar
- 存取失敗:聯合使用者無法存取或建立 AWS Cloud9 環境
- 存取失敗:聯合使用者可以建立 AWS CodeStar 專案,但無法檢視專案資源
- 服務角色問題:無法建立服務角色
- 服務角色問題:此服務角色無效或遺失
- 專案角色問題:專案中執行個 AWS CodeStar 體的 AWS Elastic Beanstalk 健全狀況狀態檢查失敗
- 專案角色問題:服務角色無效或遺失
- 專案擴充:無法連接到 JIRA
- GitHub:無法訪問存儲庫的提交歷史記錄,問題或代碼
- AWS CloudFormation:遺失許可的回復建立堆疊
- AWS CloudFormation 沒有授權PassRole 在 Lambda 執行角色上執行 iam:
- 無法建立儲 GitHub 存庫的連線
專案建立失敗:專案未建立
問題:當嘗試建立專案時,您看到訊息表示建立失敗。
可行的修正:最常見的故障原因為:
-
具有該 ID 的專案已存在於您的 AWS 帳戶中,可能位於不同的 AWS 區域中。
-
您用來登入的 IAM 使用者 AWS Management Console 沒有建立專案所需的權限。
-
AWS CodeStar 服務角色缺少一或多個必要權限。
-
您已達到專案的一或多個資源上限 (例如 IAM、Amazon S3 儲存貯體或中管道中客戶受管政策的限制 CodePipeline)。
建立專案之前,請確認您已將AWSCodeStarFullAccess
政策套用至 IAM 使用者。如需詳細資訊,請參閱 AWSCodeStarFullAccess 政策。
當您建立專案時,確保 ID 是唯一且符合 AWS CodeStar 需求。請確定您已選取 [AWS CodeStar 想要代表您管理 AWS 資源的權限] 核取方塊。
若要疑難排解其他問題,請開啟 AWS CloudFormation 主控台,選擇您嘗試建立的專案堆疊,然後選擇 [事件] 索引標籤。可能會有一個以上的專案堆疊。堆疊名稱以 awscodestar-
開頭,後面緊接著專案 ID。堆疊可能會在刪除篩選條件檢視下方。檢閱堆疊事件中的任何故障訊息,並更正列為這些故障的問題原因。
專案建立:我在建立專案時嘗試編輯 Amazon EC2 組態時看到錯誤
問題:在專案建立期間編輯 Amazon EC2 組態選項時,您會看到錯誤訊息或灰色選項,而且無法繼續建立專案。
可行的修正:最常見的錯誤訊息原因為:
-
AWS CodeStar 專案範本中的 VPC (預設 VPC 或編輯 Amazon EC2 組態時使用的 VPC) 具有專用執行個體租用,專用執行個體不支援執行個體類型。選擇不同的執行個體類型或不同的 Amazon VPC。
-
您的 AWS 帳戶沒有 Amazon VPC。您可能已刪除預設的 VPC,而不是建立任何其他項目。在 https://console.aws.amazon.com/vpc/
開啟 Amazon 虛擬私人雲端主控台,選擇您的虛擬私人雲端,並確定您至少已設定一個 VPC。若沒有,請建立一個。如需詳細資訊,請參閱 Amazon VPC 入門指南中的 Amazon 虛擬私有雲概觀。 -
Amazon VPC 沒有任何子網路。選擇不同的 VPC,或建立 VPC 的子網路。如需詳細資訊,請參閱 VPC 和子網路基本概念。
專案刪除:已刪除 AWS CodeStar 專案,但資源仍然存在
問題:已刪除 AWS CodeStar 專案,但為該專案建立的資源仍然存在。依預設, AWS CodeStar 會在刪除專案時刪除專案資源。即使使用者選取 [刪除資源] 核取方塊,某些資源 (例如 Amazon S3 儲存貯體) 仍會保留,因為儲存貯體可能包含資料。
可能的修正:開啟AWS CloudFormation 主控台awscodestar-
開頭,後面緊接著專案 ID。堆疊可能在刪除篩選條件檢視下方。檢閱與堆疊相關聯的事件,探索為專案建立的資源。在您建立 AWS CodeStar 專案的「 AWS 地區」中,開啟這些資源的主控台,然後手動刪除資源。
專案資源可能仍包括:
-
Amazon S3 中的一個或多個項目存儲桶。與其他專案資源不同,Amazon S3 中的專案儲存貯體在選取 [刪除相關 AWS 資源和 AWS CodeStar 專案] 核取方塊時,不會刪除。
前往 https://console.aws.amazon.com/s3/
開啟的 Amazon Simple Storage Service (Amazon S3) 主控台。 -
中專案的來源儲存庫 CodeCommit。
請在以下位置開啟 CodeCommit 主控台。
https://console.aws.amazon.com/codecommit/ -
適用於您在中的專案的管道 CodePipeline。
請在以下位置開啟 CodePipeline 主控台。
https://console.aws.amazon.com/codepipeline/ -
中的應用程式和相關聯的部署群組 CodeDeploy。
請在以下位置開啟 CodeDeploy 主控台。
https://console.aws.amazon.com/codedeploy/ -
AWS Elastic Beanstalk中的應用程式和相關聯的環境。
開啟彈性魔豆控制台,網址為 https://console.aws.amazon.com/elasticbeanstalk/。
-
AWS Lambda的函數。
請在以下位置開啟 AWS Lambda 主控台。
https://console.aws.amazon.com/lambda/ -
API Gateway 中的一或多個 API。
在以下網址開啟 API Gateway 主控台:https://console.aws.amazon.com/apigateway/
。 -
IAM 中的一或多個 IAM 政策或角色。
登入 AWS Management Console 並開啟身分與存取權管理主控台,網址為 https://console.aws.amazon.com/iam/
。 -
Amazon EC2 中的一個實例。
前往 https://console.aws.amazon.com/ec2/
開啟 Amazon EC2 主控台。 -
中的一或多個開發環 AWS Cloud9境
若要檢視、存取和管理開發環境,請在 https://console.aws.amazon.com/cloud9/
開啟 AWS Cloud9 主控台。
如果您的專案使用以外的資源 AWS (例如, GitHub 存放庫或 Atlassian JIRA 中的問題),即使已選取 [刪除相關資源與 CodeStar 專案] 方塊,也不會刪除這些 AWS 資源。
團隊管理失敗:IAM 使用者無法新增至 AWS CodeStar 專案中的團隊
問題:當嘗試將使用者加入到專案時,您看到錯誤訊息表示附加失敗。
可能的修正:發生此錯誤的最常見原因是使用者已達到可套用至 IAM 中使用者的受管政策限制。如果您在嘗試新增使用者的 AWS CodeStar 專案中沒有擁有者角色,或 IAM 使用者不存在或遭到刪除,也可能會收到此錯誤訊息。
請確定您是以該 AWS CodeStar 專案擁有者的使用者身分登入。如需詳細資訊,請參閱 新增團隊成員到 AWS CodeStar 專案 。
若要疑難排解其他問題,請開啟 IAM 主控台,選擇您嘗試新增的使用者,然後查看該 IAM 使用者套用了多少受管政策。
如需詳細資訊,請參閱 &IAM; 實體和物件的限制。如需可變更之限制資訊,請參閱 AWS 服務限制。
存取失敗:聯合使用者無法存取專案 AWS CodeStar
問題:同盟使用者無法在 AWS CodeStar 主控台中看到專案。
可行的修正:如果您以聯合身分使用者身分登入,請確定您有適當的受管政策連接到要登入的所擔任角色。如需詳細資訊,請參閱 將專案的 AWS CodeStar 檢視者/貢者/擁有者管理原則附加至聯合使用者的角色。
透過手動附加原則,將同盟使用者新增至您的 AWS Cloud9 環境。請參閱將 AWS Cloud9 受管理的原則附加至同盟使用者的角色。
存取失敗:聯合使用者無法存取或建立 AWS Cloud9 環境
問題:同盟使用者無法在 AWS Cloud9 主控台中看到或建立 AWS Cloud9 環境。
可行的修正:如果您以聯合身分使用者身分登入,請確定您有適當的受管政策連接到聯合身分使用者的角色。
您可以透過手動將原則附加至同盟使用者的角色,將同盟使用者新增至您的 AWS Cloud9 環境。請參閱將 AWS Cloud9 受管理的原則附加至同盟使用者的角色。
存取失敗:聯合使用者可以建立 AWS CodeStar 專案,但無法檢視專案資源
問題:聯合身分使用者能夠建立專案,但無法檢視專案資源,例如專案管道。
可能的修正:如果您已附加受AWSCodeStarFullAccess
管理策略,則您擁有在中建立專案的權限 AWS CodeStar。不過,若要存取所有專案資源,您必須連接擁有者受管政策。
AWS CodeStar 建立專案資源之後,擁有者、參與者和檢視者管理的原則中即可取得所有專案資源的專案權限。若要存取所有資源,您必須手動將擁有者政策連接到您的角色。請參閱步驟 3:設定使用者的 IAM 許可。
服務角色問題:無法建立服務角色
問題:當您嘗試在中建立專案時 AWS CodeStar,會看到提示您建立服務角色的訊息。當您選擇選項來建立角色時,您看到錯誤。
可能的修正:發生此錯誤的最常見原因是您登入 AWS 的帳戶沒有足夠權限來建立服務角色。若要建立 AWS CodeStar 服務角色 (aws-codestar-service-role
),您必須以系統管理使用者或根帳號登入。登出主控台,然後使用已套用AdministratorAccess
受管政策的 IAM 使用者登入。
服務角色問題:此服務角色無效或遺失
問題:開啟 AWS CodeStar 主控台時,您會看到一則訊息,指出 AWS CodeStar 服務角色遺失或無效。
可行的修正:此錯誤最常見的原因是,管理使用者已編輯或刪除服務角色 (aws-codestar-service-role
)。如果服務角色已刪除,系統會提示您建立該角色。您必須以管理使用者身分登入,或使用根帳戶登入,如此才能建立角色。如果該角色已遭編輯,便不再有效。以管理使用者身分登入 IAM 主控台,在角色清單中找到服務角色,然後將其刪除。切換至主 AWS CodeStar 控台,然後依照指示建立服務角色。
專案角色問題:專案中執行個 AWS CodeStar 體的 AWS Elastic Beanstalk 健全狀況狀態檢查失敗
問題:如果您在 2017 年 9 月 22 日之前建立了包含 Elastic Beanstalk 的 AWS CodeStar 專案,Elastic Beanstalk 健康狀態檢查可能會失敗。如果您在建立專案後尚未變更 Elastic Beanstalk 組態,健全狀況狀況檢查會失敗,並報告灰色狀態。儘管運作狀況檢查失敗,您的應用程式仍應如預期執行。如果您在建立專案後變更了 Elastic Beanstalk 組態,健全狀況狀態檢查會失敗,且您的應用程式可能無法正確執行。
修正:一或多個 IAM 角色遺失必要的 IAM 政策陳述式。新增遺失的政策到您的 AWS 帳戶中受影響的角色。
-
登入 AWS Management Console 並開啟身分與存取權管理主控台,網址為 https://console.aws.amazon.com/iam/
。 如果無法執行此動作,請聯絡您的 AWS 帳戶管理員以取得協助。)
-
在導覽窗格中,選擇角色。
-
在角色清單中,選擇 CodeStarWorker-
專案 ID
-EB,其中專案 ID
是其中一個受影響專案的 ID。(如果您無法輕鬆找到清單中的角色,請在搜尋方塊中輸入部分或全部的角色名稱)。 -
在 [權限] 索引標籤上,選擇 [連接政策]。
-
在策略清單中,選取AWSElasticBeanstalkEnhancedHealth和AWSElasticBeanstalkService。(如果您無法輕鬆找到清單中的政策,請在搜尋方塊中輸入部分或全部的政策名稱)。
-
選擇 Attach Policy (連接政策)。
-
為每個受影響的角色重複步驟 3 到 6,該角色的名稱跟隨模式 CodeStarWorker-
專案 ID
- EB。
專案角色問題:服務角色無效或遺失
問題:當您嘗試新增使用者至專案,看到錯誤訊息,其表示附加失敗,因為專案角色政策遺失或無效。
可能的修正:發生此錯誤的最常見原因是在 IAM 中編輯或刪除一或多個專案政策。專案原則對於 AWS CodeStar 專案而言是唯一的,無法重新建立。專案無法使用。在中建立專案 AWS CodeStar,然後將資料移轉至新專案。從無法使用的專案的儲存庫複製專案程式碼,並將該程式碼推送到新專案的儲存庫。從舊專案將團隊 wiki 資訊複製到新的專案。新增使用者到新的專案。當您確定已遷移所有資料和設定,請刪除不可用的專案。
專案擴充:無法連接到 JIRA
問題:當您使用 Atlassian JIRA 延伸模組嘗試將 AWS CodeStar 專案連線到 JIRA 執行個體時,會顯示下列訊息:「該 URL 不是有效的 JIRA URL。請確認 URL 是否正確。」
可能的修正:
-
確定 JIRA URL 是正確的,然後再試一次連線。
-
您的自我託管 JIRA 執行個體可能無法從公有網際網路存取。聯絡您的網路管理員,確保您的 JIRA 執行個體可從公有網際網路存取,然後再次嘗試連線。
GitHub:無法訪問存儲庫的提交歷史記錄,問題或代碼
問題:在儲存其程式碼的專案的儀表板中 GitHub,「提交歷程」和「問題」並排顯示連線錯誤,或者選擇「在這些圖標中開啟」 GitHub 或「建立問GitHub題」會顯示錯誤。
可能原因:
-
該 AWS CodeStar 項目可能不再具有 GitHub 存儲庫的訪問權限。
-
存放庫可能已在中刪除或重新命名 GitHub。
AWS CloudFormation:遺失許可的回復建立堆疊
在新增資源到 template.yml
檔案後,檢視任何錯誤訊息的 AWS CloudFormation 堆疊更新。如果未達特定條件 (例如,當必要的資源許可遺失時),堆疊更新失敗。
注意
自 2019 年 5 月 2 日起,我們已更新所有現有專案的 AWS CloudFormation 員工角色政策。此更新會減少授予您專案管道的存取範圍,來改善您專案中的安全性。
若要疑難排解,請在專案管道的 AWS CodeStar 儀表板檢視中檢視失敗狀態。
接下來,選擇管道部署階段中的CloudFormation連結,以便在 AWS CloudFormation 主控台中對故障進行疑難排解。若要檢視堆疊建立詳細資訊,請展開專案的事件清單,並檢視任何失敗訊息。訊息會指出缺少哪些許可。修正 AWS CloudFormation 工作者角色政策,然後再次執行您的管道。
AWS CloudFormation 沒有授權PassRole 在 Lambda 執行角色上執行 iam:
如果您在 2018 年 12 月 6 日 PDT 之前建立了建立 Lambda 函數的專案,您可能會看到如下 AWS CloudFormation 錯誤訊息:
User: arn:aws:sts::
id
:assumed-role/CodeStarWorker-project-id
-CloudFormation/AWSCloudFormation is not authorized to perform: iam:PassRole on resource: arn:aws:iam::id
:role/CodeStarWorker-project-id
-Lambda (Service: AWSLambdaInternal; Status Code: 403; Error Code: AccessDeniedException; Request ID:id
)
之所以發生此錯誤,是因為您的 AWS CloudFormation 背景工作者角色沒有傳遞角色來佈建新 Lambda 函數的權限。
若要修正此錯誤,您必須使用下列程式碼片段更新 AWS CloudFormation Worker 角色原則。
{ "Action":[ "iam:PassRole" ], "Resource": [ "arn:aws:iam::
account-id
:role/CodeStarWorker-project-id
-Lambda", ], "Effect": "Allow" }
更新政策後,請再次執行管道。
或者,您也可以在專案中新增許可界限,為 Lambda 函數使用自訂角色,如中所述 新增 IAM 許可界限至現有的專案
無法建立儲 GitHub 存庫的連線
問題:
由於 GitHub 存放庫的連線會使用 AWS Connector GitHub,因此您需要組織擁有者權限或存放庫的管理員權限,才能建立連線。
可能的修正:如需 GitHub 儲存庫權限層級的相關資訊,請參閱 https://docs.github.com/en/ free-pro-team @latest /github/-/setting-up-and-managing