疑難排 AWS CodeStar - AWS CodeStar

2024 年 7 月 31 日,Amazon Web Services (AWS) 將停止建立和檢視 AWS CodeStar 專案的支援。2024 年 7 月 31 日之後,您將無法再存取 AWS CodeStar 主控台或建立新專案。但是 AWS CodeStar,由建立的 AWS 資源 (包括您的來源儲存庫、管道和組建) 將不受此變更的影響,並將繼續運作。 AWS CodeStar 連線和 AWS CodeStar 通知不會受到此停止的影響。

 

如果您想要追蹤工作、開發程式碼以及建置、測試和部署應用程式,Amazon CodeCatalyst 提供簡化的入門程序和其他功能來管理軟體專案。進一步了解 Amazon 的功能定價 CodeCatalyst。

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

疑難排 AWS CodeStar

以下資訊可能有助於診斷 AWS CodeStar內的常見問題。

專案建立失敗:專案未建立

問題:當嘗試建立專案時,您看到訊息表示建立失敗。

可行的修正:最常見的故障原因為:

  • 具有該 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 主控台並尋找一或多個用於建立專案的 AWS CloudFormation 堆疊。堆疊名稱以 awscodestar- 開頭,後面緊接著專案 ID。堆疊可能在刪除篩選條件檢視下方。檢閱與堆疊相關聯的事件,探索為專案建立的資源。在您建立 AWS CodeStar 專案的「 AWS 地區」中,開啟這些資源的主控台,然後手動刪除資源。

專案資源可能仍包括:

如果您的專案使用以外的資源 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 帳戶中受影響的角色。

  1. 登入 AWS Management Console 並開啟身分與存取權管理主控台,網址為 https://console.aws.amazon.com/iam/

    如果無法執行此動作,請聯絡您的 AWS 帳戶管理員以取得協助。)

  2. 在導覽窗格中,選擇角色

  3. 在角色清單中,選擇 CodeStarWorker-專案 ID-EB,其中專案 ID 是其中一個受影響專案的 ID。(如果您無法輕鬆找到清單中的角色,請在搜尋方塊中輸入部分或全部的角色名稱)。

  4. 在 [權限] 索引標籤上,選擇 [連接政策]。

  5. 在策略清單中,選取AWSElasticBeanstalkEnhancedHealthAWSElasticBeanstalkService。(如果您無法輕鬆找到清單中的政策,請在搜尋方塊中輸入部分或全部的政策名稱)。

  6. 選擇 Attach Policy (連接政策)

  7. 為每個受影響的角色重複步驟 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組織。organizations-and-teams permission-levels-for-an