

Amazon CodeCatalyst 不再向新客戶開放。現有客戶可以繼續正常使用該服務。如需詳細資訊，請參閱[如何從 CodeCatalyst 遷移](migration.md)。

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

# Amazon CodeCatalyst 故障診斷
<a name="troubleshooting"></a>

以下資訊可協助您對 CodeCatalyst 中的常見問題進行疑難排解。您也可以使用 Amazon CodeCatalyst 運作狀態報告來判斷是否有服務問題可能會影響您的體驗。

**Topics**
+ [疑難排解一般存取問題](#troubleshooting-general)
+ [故障診斷支援問題](#troubleshoot-support)
+ [部分或全部 Amazon CodeCatalyst 無法使用](#service-unavailable)
+ [我無法在 CodeCatalyst 中建立專案](#troubleshoot-create-project)
+ [我無法以新使用者身分存取 myBID 空間，或因為使用者名稱被截斷而無法新增為新的 SSO 使用者](#troubleshoot-username-truncated)
+ [當新使用者建立重複的使用者時，將 SSO 使用者新增至我的聯合空間](#troubleshoot-username-duplicated-SSO)
+ [我想要在 CodeCatalyst 中提交意見回饋](#troubleshoot-create-feedback)
+ [對來源儲存庫的問題進行故障診斷](troubleshooting-source.md)
+ [對專案和藍圖進行故障診斷](projects-troubleshooting.md)
+ [針對開發環境的問題進行故障診斷](devenvironments-troubleshooting.md)
+ [對工作流程的問題進行故障診斷](troubleshooting-workflows.md)
+ [針對問題進行故障診斷](troubleshooting-issues.md)
+ [對 CodeCatalyst 中的搜尋問題進行故障診斷](troubleshooting-search.md)
+ [對延伸模組的問題進行故障診斷](troubleshooting-extensions.md)
+ [針對與空間相關聯的帳戶問題進行故障診斷](troubleshooting-connections.md)
+ [對 Amazon CodeCatalyst 與 AWS SDKs 或 之間的問題進行故障診斷 AWS CLI](troubleshooting-cli-sdk.md)

## 疑難排解一般存取問題
<a name="troubleshooting-general"></a>

### 我忘記密碼
<a name="id-forgot-password"></a>

**問題：**我忘記用於 AWS 建置器 ID 和 Amazon CodeCatalyst 的密碼。

**可能的修正：**修正此問題的最簡單方法是重設密碼。

1. 開啟 [Amazon CodeCatalyst](https://codecatalyst.aws/) 並輸入**您的電子郵件地址**。然後選擇 **Continue** (繼續)。

1. 選擇**忘記密碼？**

1. 我們會傳送一封電子郵件給您，其中包含變更密碼的連結。如果您在收件匣中看不到電子郵件，請檢查您的垃圾郵件資料夾。

### 部分或全部 Amazon CodeCatalyst 無法使用
<a name="service-unavailable"></a>

**問題：**我導覽至 CodeCatalyst 主控台或遵循 CodeCatalyst 主控台的連結，但我看到錯誤。

**可能的修正：**此問題的最常見原因是，您依照連結至未獲邀請的專案或空間，或是服務有一般可用性問題。檢查[運作狀態報告](health-dashboard.md)，以查看服務是否有任何已知問題。如果沒有，請聯絡邀請您加入專案或空間的人員，並要求另一個邀請。如果您尚未受邀加入任何專案或空間，您可以註冊並[建立自己的空間和專案](sign-up-create-resources.md)。

### 我無法在 CodeCatalyst 中建立專案
<a name="troubleshoot-create-project"></a>

**問題：**我想要建立專案，但**建立專案**按鈕顯示為無法使用，或我收到錯誤訊息。

**可能的修正：**此問題的最常見原因是您使用沒有 **Space 管理員**角色的 AWS 建置器 ID 登入 主控台。您必須具有此角色才能在空間中建立專案。

如果您確實有此角色，且按鈕未顯示為可用，則服務可能會出現暫時性問題。重新整理您的瀏覽器，然後再試一次。

## 故障診斷支援問題
<a name="troubleshoot-support"></a>

### 當我存取 支援 Amazon CodeCatalyst 時收到錯誤
<a name="troubleshoot-support-rolepolicy"></a>

**問題：**當我選擇 支援 for Amazon CodeCatalyst 選項時，會收到下列錯誤訊息：

**`Unable to assume role`**

`To access support cases, you must add the role AWSRoleForCodeCatalystSupport to the AWS 帳戶 that is the billing account for the space.`

**可能的修正：**將必要角色新增至 AWS 帳戶 ，該角色是空間的帳單帳戶。指定為空間帳單帳戶的帳戶會使用 `AWSRoleForCodeCatalystSupport`角色和 `AmazonCodeCatalystSupportAccess` 受管政策。如需詳細資訊，請參閱[為您的帳戶和空間建立 **AWSRoleForCodeCatalystSupport**角色](ipa-iam-roles.md#ipa-iam-roles-support-create)。

**注意**  
 AWS Builder ID 只能獲得對其驗證的別名的支援，並且只能根據 CodeCatalyst 中的許可取得資源的支援。帳戶和帳單支援可供空間中的所有使用者使用。不過，建置器只能取得其在 CodeCatalyst 中具有 許可的資源和資訊的支援。

### 我無法為我的空間建立技術支援案例
<a name="troubleshoot-support-technical-cases"></a>

**問題：**我無法為我的空間建立技術支援案例。

**修正：**商業支援或企業支援計劃需要新增至空間帳單帳戶，空間中的使用者才能建立技術支援案例。請您的空間管理員將 支援 計劃新增至您的空間帳單帳戶，或造訪 https AWS ：//https://repost.aws/ 來詢問社群。

### 我的支援案例帳戶不再連接到 CodeCatalyst 中的空間
<a name="troubleshoot-support-disconnected-account"></a>

**問題：**我的支援案例帳戶不再連接到 CodeCatalyst 中的空間。

**修正：**如果具有 **Space 管理員**角色的使用者切換空間計費帳戶，這會中斷 支援 計劃和所有相關案例與空間的連線。 支援 Amazon CodeCatalyst 中將不再顯示與舊空間計費帳戶相關聯的 支援 案例。該帳單帳戶的根使用者可以從 檢視和解決舊案例， AWS 管理主控台 也可以設定 支援 IAM 許可，讓其他使用者檢視和解決舊案例。您將無法繼續透過 從舊空間帳單帳戶取得 CodeCatalyst 的技術支援 AWS 管理主控台，但您可以獲得其他服務的技術支援，直到您的 支援 計劃取消為止。

如需詳細資訊，請參閱*支援 《 使用者指南*》中的[更新、解決和重新開啟您的案例](https://docs.aws.amazon.com//awssupport/latest/user/monitoring-your-case.html)。

### 我無法在 for Amazon CodeCatalyst 支援 AWS 服務 中為另一個 開啟支援案例
<a name="troubleshoot-support-other-services"></a>

**問題：**我無法在 支援 for CodeCatalyst AWS 服務 中為另一個 開啟支援案例。

**可能的修正：**您只能從 支援 for CodeCatalyst 開啟 CodeCatalyst 支援案例。如果您需要從 CodeCatalyst 部署到另一個 AWS、Amazon 或其他第三方服務的服務或資源支援，您需要透過 AWS 管理主控台 或第三方服務支援管道建立案例。如需詳細資訊，請參閱*支援 《 使用者指南*》中的[建立支援案例和案例管理](https://docs.aws.amazon.com//awssupport/latest/user/case-management.html)。

## 部分或全部 Amazon CodeCatalyst 無法使用
<a name="service-unavailable"></a>

**問題：**我導覽至 CodeCatalyst 主控台或遵循 CodeCatalyst 主控台的連結，但我看到錯誤。

**可能的修正：**此問題的最常見原因是，您依照連結至未獲邀請的專案或空間，或是服務有一般可用性問題。檢查[運作狀態報告](health-dashboard.md)，以查看服務是否有任何已知問題。如果沒有，請聯絡邀請您加入專案或空間的人員，並要求另一個邀請。如果您尚未受邀加入任何專案或空間，您可以註冊並[建立自己的空間和專案](sign-up-create-resources.md)。

## 我無法在 CodeCatalyst 中建立專案
<a name="troubleshoot-create-project"></a>

**問題：**我想要建立專案，但**建立專案**按鈕顯示為無法使用，或我收到錯誤訊息。

**可能的修正：**此問題的最常見原因是您使用沒有 **Space 管理員**角色的 AWS 建置器 ID 登入 主控台。您必須具有此角色才能在空間中建立專案。

如果您確實有此角色，且按鈕未顯示為可用，則服務可能會出現暫時性問題。重新整理您的瀏覽器，然後再試一次。

## 我無法以新使用者身分存取 myBID 空間，或因為使用者名稱被截斷而無法新增為新的 SSO 使用者
<a name="troubleshoot-username-truncated"></a>

**問題：**CodeCatalyst 會在 100 個字元後截斷使用者名稱，這可能會導致某些使用者名稱看起來相同。身為存取 CodeCatalyst 空間的新使用者，我會根據空間類型遇到此問題，如下所示：
+ 我有想要用來登入 CodeCatalyst 的 AWS 建置器 ID。當我嘗試登入空間時，會收到我的使用者名稱無效的訊息。
+ 我是支援聯合身分之 CodeCatalyst 空間的聯合身分管理員。在 IAM Identity Center 中將新使用者新增至 SSO 使用者和群組時，我會收到使用者無效的訊息。

**可能的修正：**第一個以 SSO 使用者身分登入 CodeCatalyst 或新增至空間的使用者，若具有指定的截斷使用者名稱，將會成功。任何使用 AWS 建置器 ID 註冊或在此之後新增至 IAM Identity Center 的使用者將無法登入，因為名稱看起來會重複。根據空間類型，執行下列其中一項操作：
+ 若要能夠登入 AWS 建置器 ID 空間，請使用不同的使用者名稱註冊。
+ 若要能夠在 IAM Identity Center 中新增使用者，請使用不同的使用者名稱新增使用者。

**注意**  
即使使用者名稱似乎被截斷，CodeCatalyst 會以不受具有截斷名稱的使用者名稱影響的方式映射到身分。不過，如果建立的使用者名稱與截斷的使用者名稱相同，則如果其他相關聯的使用者 （具有相同空間或 IAM Identity Center 應用程式） 已使用該截斷的使用者名稱加入 CodeCatalyst，則該使用者名稱將無法使用。

## 當新使用者建立重複的使用者時，將 SSO 使用者新增至我的聯合空間
<a name="troubleshoot-username-duplicated-SSO"></a>

**問題：**新增至 CodeCatalyst 空間，然後移除的 CodeCatalyst SSO 使用者可能會遇到使用者名稱嘗試重複使用的問題。這可能會導致類似以下的錯誤，即使重新建立，也不允許重複使用者。

**`Unable to assume role`**

`To access support cases, you must add the role AWSRoleForCodeCatalystSupport to the AWS 帳戶 that is the billing account for the space.`

**可能的修正：**如果刪除現有的 IDC 使用者，然後使用相同的使用者名稱重新建立新使用者，則新使用者無法登入，因為使用者名稱與舊使用者衝突。使用者名稱以 SSO 使用者身分新增至空格後，就無法再次使用該名稱。任何使用 AWS 建置器 ID 註冊或在此之後新增至 IAM Identity Center 的使用者將無法登入，因為名稱看起來會重複。

根據空間類型，執行下列其中一項操作：
+ 若要能夠登入 AWS 建置器 ID 空間，請使用不同的使用者名稱註冊。
+ 若要能夠在 IAM Identity Center 中新增使用者，請使用不同的使用者名稱新增使用者。

## 我想要在 CodeCatalyst 中提交意見回饋
<a name="troubleshoot-create-feedback"></a>

**問題：**我在 CodeCatalyst 中發現錯誤，我想要提交意見回饋。

**可能的修正：**您可以直接在 CodeCatalyst 中提交意見回饋。

1. 在 https：//[https://codecatalyst.aws/](https://codecatalyst.aws/) 開啟 CodeCatalyst 主控台。

1. 在導覽窗格中，選擇**給予意見回饋**。

1. 從下拉式選單中選擇意見回饋類型，然後輸入您的意見回饋。

# 對來源儲存庫的問題進行故障診斷
<a name="troubleshooting-source"></a>

以下資訊可協助您疑難排解 CodeCatalyst 中來源儲存庫的常見問題。

**Topics**
+ [我已達到空間的儲存空間上限，並看到警告或錯誤](#source-troubleshoot-storage)
+ [嘗試複製或推送至 Amazon CodeCatalyst 來源儲存庫時發生錯誤](#source-troubleshoot-clone)
+ [我在嘗試遞交或推送至 Amazon CodeCatalyst 來源儲存庫時收到錯誤](#source-troubleshoot-commit-code)
+ [我的專案需要來源儲存庫](#source-troubleshoot-need-repository)
+ [我的來源儲存庫是全新的，但包含遞交](#source-troubleshoot-initial-commit)
+ [我想要不同的分支作為我的預設分支](#source-troubleshoot-default-branch)
+ [我收到有關提取請求中活動的電子郵件](#source-troubleshoot-repository-emails)
+ [我忘記我的個人存取字符 (PAT)](#source-troubleshoot-forgot-pat)
+ [提取請求不會顯示我預期的變更](#source-troubleshoot-pull-request-diff)
+ [提取請求顯示不可合併的狀態](#source-troubleshoot-pull-request-not-mergeable)

## 我已達到空間的儲存空間上限，並看到警告或錯誤
<a name="source-troubleshoot-storage"></a>

**問題：**我想要將程式碼遞交至 CodeCatalyst 中的一或多個來源儲存庫，但我看到錯誤。在 主控台中，我在來源儲存庫頁面上看到一則訊息，指出我已達到空間的儲存限制。

**可能的修正：**視您在專案或空間中的角色而定，您可以縮減一或多個來源儲存庫的大小、刪除未使用的來源儲存庫，或將帳單層變更為具有更多儲存空間的儲存庫。
+ 若要減少專案中來源儲存庫的大小，您可以刪除未使用的分支。如需詳細資訊，請參閱[刪除分支](source-branches-delete.md)及[貢獻者角色](ipa-role-types.md#ipa-role-contributor)。
+ 若要減少空間的整體儲存體，您可以刪除未使用的來源儲存庫。如需詳細資訊，請參閱[刪除來源儲存庫](source-repositories-delete.md)及[專案管理員角色](ipa-role-types.md#ipa-role-project-admin)。
+ 若要增加您空間的可用儲存空間，您可以將帳單方案變更為具有更多儲存空間的方案。如需詳細資訊，請參閱《Amazon [ CodeCatalyst 管理員指南》中的變更 CodeCatalyst 帳單層](https://docs.aws.amazon.com/codecatalyst/latest/adminguide/managing-billing-change-plan.html)。 CodeCatalyst 

## 嘗試複製或推送至 Amazon CodeCatalyst 來源儲存庫時發生錯誤
<a name="source-troubleshoot-clone"></a>

**問題：**當我嘗試將來源儲存庫複製到本機電腦或整合開發環境 (IDE) 時，會收到許可錯誤。

**可能的修正：**您可能沒有 AWS 建置器 ID 的個人存取字符 (PAT)，您可能尚未使用 PAT 設定登入資料管理系統，或者您的 PAT 可能已過期。嘗試下列一或多個解決方案：
+ 建立個人存取字符 (PAT)。如需詳細資訊，請參閱[使用個人存取權杖授予使用者儲存庫存取權](ipa-tokens-keys.md)。
+ 請確定您已接受包含來源儲存庫的專案邀請，而且您仍然是該專案的成員。如果您不是該專案的作用中成員，則無法複製來源儲存庫。登入 主控台，並嘗試導覽至您嘗試複製來源儲存庫的空間和專案。如果您在空間的專案清單中看不到專案，您可能不是該專案的成員，或者您尚未接受該專案的邀請。如需詳細資訊，請參閱[接受邀請並建立 AWS 建置器 ID](sign-up-sign-in.md)。
+ 請確定您的複製命令格式正確，並包含您的 AWS 建置器 ID。例如：

  ```
  https://LiJuan@git.us-west-2.codecatalyst.aws/v1/ExampleCorp/MyExampleProject/MyExampleRepo
  ```
+ 使用 AWS CLI 來確定您的 PAT 與您的 AWS 建置器 ID 相關聯，而且尚未過期。如果您沒有 或 PAT 已過期，請建立一個。如需詳細資訊，請參閱[使用個人存取權杖授予使用者儲存庫存取權](ipa-tokens-keys.md)。
+ 嘗試建立開發環境以使用來源儲存庫中的程式碼，而不是將其複製到本機儲存庫或 IDE。如需詳細資訊，請參閱[建立開發環境](devenvironment-create.md)。

## 我在嘗試遞交或推送至 Amazon CodeCatalyst 來源儲存庫時收到錯誤
<a name="source-troubleshoot-commit-code"></a>

**問題：**當我嘗試推送到來源儲存庫時，會收到許可錯誤。

**可能的修正：**您可能在專案中沒有角色，可讓您遞交程式碼變更並推送至專案。檢視您嘗試將變更推送至來源儲存庫的專案中的角色。如需詳細資訊，請參閱[取得成員及其專案角色的清單](projects-members.md#projects-members-view)及[使用使用者角色授予存取權](ipa-roles.md)。

如果您有允許遞交和推送變更的角色，則您嘗試遞交變更的分支可能會設定分支規則，以防止您推送程式碼變更至該分支。請嘗試建立分支，並將程式碼推送至該分支。如需詳細資訊，請參閱[使用分支規則管理分支的允許動作](source-branches-branch-rules.md)。

## 我的專案需要來源儲存庫
<a name="source-troubleshoot-need-repository"></a>

**問題：**我的專案沒有來源儲存庫，或我的專案需要另一個來源儲存庫。

**可能的修正：**某些專案建立時沒有任何資源。如果您是專案的成員，您可以在 CodeCatalyst 中為該專案建立來源儲存庫。如果具有 **Space 管理員**角色的人員安裝 **GitHub 儲存庫**並將其連接到 GitHub 帳戶，您可以連結到可用的 GitHub 儲存庫，如果您有專案**管理員**角色，則可以將這些儲存庫新增至您的專案。如需詳細資訊，請參閱[建立來源儲存庫](source-repositories-create.md)和[連結來源儲存庫](source-repositories-link.md)。

## 我的來源儲存庫是全新的，但包含遞交
<a name="source-troubleshoot-initial-commit"></a>

**問題：**我剛建立來源儲存庫。它應該是空的，但其中包含遞交、分支和`README.md`檔案。

**可能的修正：**這是預期的行為。CodeCatalyst 中的所有來源儲存庫都包含初始遞交，將預設分支設定為 `main`，並包含範本程式碼 （如果儲存庫是使用包含範本程式碼的藍圖為專案建立） 或儲存庫 README 檔案的範本 Markdown 檔案。您可以在 主控台和 Git 用戶端中建立其他分支。您可以在 主控台中建立和編輯檔案，並在開發環境和 Git 用戶端中刪除檔案。

## 我想要不同的分支作為我的預設分支
<a name="source-troubleshoot-default-branch"></a>

**問題：**我的來源儲存庫隨附名為 的預設分支`main`，但我想要不同的分支作為我的預設分支。

**可能的修正：**您無法變更或刪除 CodeCatalyst 中來源儲存庫中的預設分支。您可以建立其他分支，並在工作流程的來源動作中使用這些分支。您也可以選擇連結 GitHub 儲存庫，並將其用作專案的儲存庫。

## 我收到有關提取請求中活動的電子郵件
<a name="source-troubleshoot-repository-emails"></a>

**問題：**我沒有註冊或設定有關提取請求活動的電子郵件通知，但我仍然會收到它們。

**可能的修正：**有關提取請求活動的電子郵件通知會自動傳送。如需詳細資訊，請參閱[在 Amazon CodeCatalyst 中使用提取請求檢閱程式碼](source-pull-requests.md)。

## 我忘記我的個人存取字符 (PAT)
<a name="source-troubleshoot-forgot-pat"></a>

**問題：**我一直使用 PAT 複製、推送和提取來源儲存庫的程式碼，但我遺失了字符的值，而且在 CodeCatalyst 主控台中找不到它。

**可能的修正：**解決此問題的最快速方法是建立另一個 PAT，並將您的登入資料管理員或 IDE 設定為使用此新的 PAT。我們只會在您建立 PAT 時顯示其值。如果您遺失此值，則無法擷取。如需詳細資訊，請參閱[使用個人存取權杖授予使用者儲存庫存取權](ipa-tokens-keys.md)。

## 提取請求不會顯示我預期的變更
<a name="source-troubleshoot-pull-request-diff"></a>

**問題：**我已建立提取請求，但我看不到預期在來源和目的地分支之間看到的變更。

**可能的修正：**這可能是由許多問題引起的。嘗試下列一或多個解決方案：
+ 您可能正在檢閱較舊修訂版之間的變更，也可能未檢視最新的變更。重新整理瀏覽器，並確定您已選擇要檢視之修訂之間的比較。
+ 並非所有提取請求中的變更都會顯示在主控台中。例如，您無法在主控台中檢視 Git 子模組，因此您無法在提取請求中檢視子模組的差異。有些差異可能太大而無法顯示。如需詳細資訊，請參閱[CodeCatalyst 中來源儲存庫的配額](source-quotas.md)及[檢視檔案檢視檔案變更的歷史記錄](source-files-view.md)。
+ 提取請求會顯示合併基礎與您選擇的任何修訂之間的差異。當您建立提取請求時，所顯示的差異是來源分支的尖端與目的地分支的尖端之間的差異。建立提取請求後，顯示的差別在於修訂及其合併基礎。合併基礎是建立修訂時，目的地分支頂端的遞交。合併基礎可能會在修訂之間變更。如需 Git 中差異和合併基礎的詳細資訊，請參閱 Git 文件中的 [git-merge-base](https://git-scm.com/docs/git-merge-base)。

## 提取請求顯示不可合併的狀態
<a name="source-troubleshoot-pull-request-not-mergeable"></a>

**問題：**我想要合併提取請求，但其狀態顯示為**不可合併**。

**可能的修正：**這可能是由一或多個問題造成：
+ 提取請求的所有必要檢閱者必須先核准提取請求，才能合併。檢閱名稱旁具有時鐘圖示的任何檢閱者所需的檢閱者清單。時鐘圖示表示檢閱者尚未核准提取請求。
**注意**  
如果在核准提取請求之前，已從您的專案中移除必要的檢閱者，則無法合併提取請求。關閉提取請求並建立新的提取請求。
+ 來源分支和目的地分支之間可能存在合併衝突。CodeCatalyst 不支援所有可能的 Git 合併策略和選項。您可以評估分支在開發環境中的合併衝突，或複製儲存庫，並使用 IDE 或 Git 工具來尋找和解決合併衝突。如需詳細資訊，請參閱[合併提取請求](pull-requests-merge.md)。

# 對專案和藍圖進行故障診斷
<a name="projects-troubleshooting"></a>

本節可協助您針對在 Amazon CodeCatalyst 中使用專案和藍圖時可能遇到的一些常見問題進行疑難排解。

# Java API 搭配 apache-maven-3.8.6 的 AWS Fargate 藍圖缺少相依性
<a name="projects-troubleshooting-error-maven"></a>

**問題：**對於從具有 AWS Fargate 藍圖的 Java API 建立的專案，工作流程會失敗，並出現缺少`apache-maven-3.8.6`相依性的錯誤。工作流程失敗，輸出類似下列範例：

```
Step 8/25 : RUN wget https://dlcdn.apache.org/maven/maven-3/3.8.6/binaries/apache-maven-3.8.6-bin.tar.gz -P /tmp
---> Running in 1851ce6f4d1b
[91m--2023-03-10 01:24:55--  https://dlcdn.apache.org/maven/maven-3/3.8.6/binaries/apache-maven-3.8.6-bin.tar.gz
[0m[91mResolving dlcdn.apache.org (dlcdn.apache.org)... 
[0m[91m151.101.2.132, 2a04:4e42::644
Connecting to dlcdn.apache.org (dlcdn.apache.org)|151.101.2.132|:443... 
[0m[91mconnected.
[0m[91mHTTP request sent, awaiting response... [0m[91m404 Not Found
2023-03-10 01:24:55 ERROR 404: Not Found.
[0mThe command '/bin/sh -c wget https://dlcdn.apache.org/maven/maven-3/3.8.6/binaries/apache-maven-3.8.6-bin.tar.gz -P /tmp' returned a non-zero code: 8
[Container] 2023/03/10 01:24:55 Command failed with exit status 8
```

**解決方案：**使用下列步驟更新藍圖 Dockerfile。

1. 在搜尋列中，輸入 在具有藍圖的 AWS Fargate Java API 建立的專案中`apache-maven-3.8.6`尋找 dockerfile。

1.  更新 Dockerfile (`/static-assets/app/Dockerfile`) 以`maven:3.9.0-amazoncorretto-11`用作基礎映像，並移除`apache-maven-3.8.6`套件的相依性。

1. （建議） 我們也建議將 Maven 堆積大小更新為 6 GB。

以下是範例 Dockerfile。

```
FROM maven:3.9.0-amazoncorretto-11 AS builder

COPY ./pom.xml ./pom.xml
COPY src ./src/

ENV MAVEN_OPTS='-Xmx6g'

RUN mvn -Dmaven.test.skip=true clean package

FROM amazoncorretto:11-alpine

COPY —from=builder target/CustomerService-0.0.1.jar CustomerService-0.0.1.jar
EXPOSE 80
CMD ["java","-jar","-Dspring.profiles.active=prod","/CustomerService-0.0.1.jar", "—server.port=80"]
```

# 現代三層 Web 應用程式藍圖工作流程 **OnPullRequest** 失敗，並出現 Amazon CodeGuru 的許可錯誤
<a name="projects-troubleshooting-onpullrequest"></a>

**問題：**當我嘗試執行專案的工作流程時，工作流程無法以下列訊息執行：

```
Failed at codeguru_codereview: The action failed during runtime. View the action's logs for more details.
```

``

**解決方案：**此動作失敗的一個可能原因是 IAM 角色政策中缺少許可，其中連線的 CodeCatalyst 所使用的服務角色版本 AWS 帳戶 缺少成功執行 **codeguru\$1codereview** 動作所需的許可。若要修正此問題，服務角色必須以必要的許可更新，或者您必須將工作流程所用的服務角色變更為具有 Amazon CodeGuru 和 Amazon CodeGuru Reviewer 必要許可的服務角色。使用下列步驟，尋找您的角色並更新角色政策許可，以允許工作流程成功執行。

**注意**  
這些步驟適用於 CodeCatalyst 中的下列工作流程：  
為在 CodeCatalyst 中使用現代三層 Web 應用程式藍圖建立的專案提供的 **OnPullRequest** 工作流程。
使用存取 Amazon CodeGuru 或 Amazon CodeGuru Reviewer 的動作，將工作流程新增至 CodeCatalyst 中的專案。

每個專案都包含具有動作的工作流程，這些動作使用連線至 CodeCatalyst 中 AWS 帳戶 專案的 所提供的角色和環境。具有 動作及其指定政策的工作流程會存放在 /.codecatalyst/workflows 目錄中的來源儲存庫中。除非您要將新的角色 ID 新增至現有的工作流程，否則不需要修改工作流程 YAML。如需 YAML 範本元素和格式的相關資訊，請參閱 [工作流程 YAML 定義](workflow-reference.md)。

這些是編輯角色政策並驗證工作流程 YAML 時要遵循的高階步驟。

**在工作流程 YAML 中參考您的角色名稱並更新政策**

1. 在 https：//[https://codecatalyst.aws/](https://codecatalyst.aws/) 開啟 CodeCatalyst 主控台。

1. 導覽至 CodeCatalyst 空間。導覽至您的專案。

1. 選擇 **CI/CD**，然後選擇**工作流程**。

1. 選擇名為 **OnPullRequest** 的工作流程。選擇 **Definition (定義)** 索引標籤。

1. 在工作流程 YAML 中，在 **codeguru\$1codereview** 動作下的 `Role:` 欄位中，記下角色名稱。這是您將在 IAM 中修改的政策角色。下列範例顯示角色名稱。  
![\[在工作流程 YAML 中檢視 IAM 角色名稱\]](http://docs.aws.amazon.com/zh_tw/codecatalyst/latest/userguide/images/projects/ts-workflow-role.png)

1. 執行以下任意一項：
   + （建議） 使用 Amazon CodeGuru 和 Amazon CodeGuru Reviewer 所需的許可更新連線至專案的服務角色。角色會有附加`CodeCatalystWorkflowDevelopmentRole-spaceName`唯一識別符的名稱。如需角色和角色政策的詳細資訊，請參閱 [了解 **CodeCatalystWorkflowDevelopmentRole-*spaceName*** 服務角色](ipa-iam-roles.md#ipa-iam-roles-service-role)。繼續進行後續步驟，以更新 IAM 中的政策。
**注意**  
您必須擁有 AWS 帳戶 具有 角色和政策的 AWS 管理員存取權。
   + 將工作流程所用的服務角色變更為具有 Amazon CodeGuru 和 Amazon CodeGuru Reviewer 必要許可的服務角色，或建立具有必要許可的新角色。

1. 登入 AWS 管理主控台 ，並在 https：//[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 開啟 IAM 主控台。

   在 IAM 主控台中，從步驟 5 尋找角色，例如 `CodeCatalystPreviewDevelopmentRole`。

1. 在步驟 5 的角色中，變更許可政策以包含 `codeguru-reviewer:*`和 `codeguru:*`許可。新增這些許可後，許可政策看起來應該類似以下內容：

1. 進行政策更正後，請返回 CodeCatalyst 並再次啟動工作流程執行。

## 仍在想解決您的問題嗎？
<a name="projects-last-help"></a>

您可以前往 [Amazon CodeCatalyst](https://codecatalyst.aws/) 或填寫[支援意見回饋表單](https://support.aws.amazon.com/#/contacts/aws-account-support/)。在**請求資訊**區段的 ** 如何協助您**，包含您是 Amazon CodeCatalyst 客戶。盡可能提供詳細資訊，以便我們最有效地處理您的問題。

# 針對開發環境的問題進行故障診斷
<a name="devenvironments-troubleshooting"></a>

請參閱下列各節，以疑難排解與開發環境相關的問題。如需開發環境的詳細資訊，請參閱 [在 CodeCatalyst 中使用開發環境撰寫和修改程式碼使用開發環境撰寫和修改程式碼](devenvironment.md)。

**Topics**
+ [由於配額問題，我的開發環境建立失敗](#troubleshooting-devenvironments-create)
+ [我無法將變更從我的開發環境推送到儲存庫中的特定分支](#troubleshooting-devenvironments-branchrules)
+ [我的開發環境未繼續](#troubleshooting-devenvironments-resume)
+ [我的開發環境已中斷連線](#troubleshooting-devenvironments-connection)
+ [我的 VPC 連線開發環境失敗](#troubleshooting-devenvironments-vpc)
+ [我找不到專案所在的目錄](#troubleshooting-devenvironments-projects)
+ [我無法透過 SSH 連線至我的開發環境](#troubleshooting-devenvironments-connect-ssh)
+ [我無法透過 SSH 連線至我的開發環境，因為缺少我的本機 SSH 組態](#troubleshooting-devenvironments-projects-ssh-config)
+ [我無法透過 SSH 連線至我的開發環境，因為設定檔 AWS Config 的 發生問題 `codecatalyst`](#troubleshooting-devenvironments-config-profile)
+ [當我使用單一登入帳戶登入 CodeCatalyst 時，無法建立開發環境](#troubleshoot-create-dev-env-idprovider)
+ [對 IDEs 的問題進行故障診斷](devenvironments-troubleshooting-ides.md)
+ [對 devfile 的問題進行故障診斷](devenvironments-devenvironments-devfile.md)

## 由於配額問題，我的開發環境建立失敗
<a name="troubleshooting-devenvironments-create"></a>

**問題：**我想要在 CodeCatalyst 中建立開發環境，但我看到錯誤。在 主控台中，我在開發環境頁面上看到一則訊息，指出我已達到空間的儲存限制。

**可能的修正：**視您在專案或空間中的角色而定，您可以刪除一或多個您自己的開發環境，或者如果您有空間管理員角色，則可以刪除其他使用者建立的未使用開發環境。您也可以決定將帳單方案變更為包含更多儲存空間的方案。
+ 若要檢視儲存限制，請檢視 Amazon CodeCatalyst 空間的**帳單**索引標籤，以查看**用量**配額是否已達到允許的上限。如果配額已達到上限，請聯絡具有 Space 管理員角色的人員，以移除不需要的開發環境，或考慮變更帳單層。
+ 若要移除您不再需要的任何開發環境，請參閱 [刪除開發環境](devenvironment-delete.md)。

如果問題持續發生，而且您在 IDE 中收到錯誤，請檢查您是否具有可讓您建立開發環境的 CodeCatalyst 角色。**空間管理員**角色、**專案管理員**角色和**貢獻者**角色都具有建立開發環境的許可。如需詳細資訊，請參閱[使用使用者角色授予存取權](ipa-roles.md)。

## 我無法將變更從我的開發環境推送到儲存庫中的特定分支
<a name="troubleshooting-devenvironments-branchrules"></a>

**問題：**我想要將我的開發環境中的程式碼變更遞交並推送到來源儲存庫中的分支，但我看到錯誤。

**可能的修正：**視您在專案或空間中的角色而定，您可能沒有將程式碼推送至專案中來源儲存庫的許可。**空間管理員**角色、**專案管理員**角色和**貢獻者**角色都具有將程式碼推送至專案中儲存庫的許可。

如果您有 **Contributor **角色，但無法將程式碼推送到特定分支，則可能會為特定分支設定分支規則，以防止具有該角色的使用者將程式碼推送到該特定分支。嘗試將您的變更推送到不同的分支，或建立分支，然後將程式碼推送到該分支。如需詳細資訊，請參閱[使用分支規則管理分支的允許動作](source-branches-branch-rules.md)。

## 我的開發環境未繼續
<a name="troubleshooting-devenvironments-resume"></a>

**問題：**我的開發環境在我停止後沒有繼續。

**可能的修正：**若要修正問題，請檢視 Amazon CodeCatalyst 空間的**帳單**索引標籤，以查看**用量**配額是否已達到上限。如果配額已達到上限，請聯絡您的 Space 管理員來提高帳單層級。

## 我的開發環境已中斷連線
<a name="troubleshooting-devenvironments-connection"></a>

**問題：**我的開發環境在使用時中斷連線。

**可能的修正：**若要修正問題，請檢查您的網際網路連線。如果您未連線到網際網路，請連線並繼續在開發環境中工作。

## 我的 VPC 連線開發環境失敗
<a name="troubleshooting-devenvironments-vpc"></a>

**問題：**我已將 VPC 連線與我的開發環境建立關聯，並發生錯誤。

**可能的修正：**Docker 使用稱為橋接網路的連結層裝置，可讓連線到相同橋接網路的容器進行通訊。預設橋接器通常會使用 `172.17.0.0/16` 子網路來進行容器網路連線。如果環境執行個體的 VPC 子網路使用 Docker 已經使用的相同地址範圍，可能會發生 IP 地址衝突。若要解決 Amazon VPC 和Docker使用相同 IPv4 CIDR 地址區塊所造成的 IP 地址衝突，請設定與 不同的 CIDR 區塊`172.17.0.0/16`。

**注意**  
您無法變更現有 VPC 或子網路的 IP 地址範圍。

## 我找不到專案所在的目錄
<a name="troubleshooting-devenvironments-projects"></a>

**問題：**我找不到專案所在的目錄。

**可能的修正：**若要尋找您的專案，請將目錄變更為 `/projects`。這是您可以找到專案的目錄。

## 我無法透過 SSH 連線至我的開發環境
<a name="troubleshooting-devenvironments-connect-ssh"></a>

若要透過 SSH 疑難排解與開發環境的連線，您可以使用 `-vvv`選項執行 `ssh`命令，以顯示如何解決問題的詳細資訊：

```
ssh -vvv codecatalyst-dev-env=<space-name>=<project-name>=<dev-environment-id>
```

## 我無法透過 SSH 連線至我的開發環境，因為缺少我的本機 SSH 組態
<a name="troubleshooting-devenvironments-projects-ssh-config"></a>

如果本機 SSH 組態 (`~/.ssh/config`) 遺失或`Host codecatalyst-dev-env*`區段的內容過期，您將無法透過 SSH 連線至開發環境。若要疑難排解此問題，請刪除 `Host codecatalyst-dev-env*`區段，然後再次從 **SSH 存取**模式執行第一個命令。如需詳細資訊，請參閱[使用 SSH 連線至開發環境](devenvironment-connect-ssh.md)。

## 我無法透過 SSH 連線至我的開發環境，因為設定檔 AWS Config 的 發生問題 `codecatalyst`
<a name="troubleshooting-devenvironments-config-profile"></a>

請確定設定檔的 your AWS Config (`~/.aws/config`) 符合 中所述的`codecatalyst`設定檔[設定 以 AWS CLI 搭配 CodeCatalyst 使用](set-up-cli.md)。如果沒有，請刪除 的設定檔，`codecatalyst`並再次從 **SSH 存取**模式執行第一個命令。如需詳細資訊，請參閱[使用 SSH 連線至開發環境](devenvironment-connect-ssh.md)。

## 當我使用單一登入帳戶登入 CodeCatalyst 時，無法建立開發環境
<a name="troubleshoot-create-dev-env-idprovider"></a>

**問題：**當我以 SSO 使用者身分登入 CodeCatalyst 主控台時，當我選擇在空間中建立開發環境時，會收到不明的例外狀況錯誤。當我選擇建立開發環境並選擇 IDE 進行存取時 AWS Cloud9，會遇到類似以下的問題：
+ CodeCatalyst 主控台中的**開發環境**頁面會顯示清單中具有 `FAILED` 狀態的開發環境。
+ 會顯示類似下列的錯誤訊息：

  **`An unknown exception happened`**

  `We encountered an unknown exception when launching your Dev Environment. Mention your Dev Environment id error_message_ID if you want to report or need any help.`

**可能的修正：**

開發環境不適用於使用 Active Directory 做為身分提供者的空間中的使用者。空間的管理員可以使用替代身分提供者來存取開發環境，例如 IAM Identity Center。如需規劃支援聯合身分的空間的詳細資訊，請參閱 *CodeCatalyst 管理員指南*中的[規劃支援聯合身分的空間](https://docs.aws.amazon.com/codecatalyst/latest/adminguide/setting-up-federation.html#setting-up-planning-federation)。

# 對 IDEs 的問題進行故障診斷
<a name="devenvironments-troubleshooting-ides"></a>

請參閱下列各節，以針對 CodeCatalyst 中 IDEs 相關的問題進行疑難排解。如需 IDEs 的詳細資訊，請參閱 [在 IDE 中建立開發環境](devenvironment-create.md#devenvironment-using-ide)。

**Topics**
+ [我在 中有不相符的執行時間映像版本 AWS Cloud9](#troubleshooting-devenvironments-c9-runtime)
+ [我無法存取 `/projects/projects`中的檔案 AWS Cloud9](#troubleshooting-devenvironments-c9-filesystem)
+ [我無法使用自訂 devfile AWS Cloud9 在 中啟動我的開發環境](#troubleshooting-devenvironments-c9-image)
+ [我在 中遇到問題 AWS Cloud9](#troubleshooting-c9)
+ [在 JetBrains 中，我無法透過 CodeCatalyst 連線到我的開發環境](#troubleshooting-jetbrains-connect)
+ [我無法 AWS 工具組 為 IDE 安裝](#troubleshooting-ide-toolkit)
+ [在我的 IDE 中，我無法啟動我的開發環境](#troubleshooting-ide-launch)

## 我在 中有不相符的執行時間映像版本 AWS Cloud9
<a name="troubleshooting-devenvironments-c9-runtime"></a>

AWS Cloud9 使用不同版本的前端資產和後端執行期映像。使用不同的版本可能會導致 Git 延伸模組和 AWS 工具組 無法正常運作。若要修正問題，請導覽至開發環境儀表板，停止開發環境，然後再次啟動。若要使用 APIs修正問題，請使用 `UpdateDevEnvironment` API 更新執行時間。如需詳細資訊，請參閱《*Amazon CodeCatalyst API 參考*》中的 [UpdateDevEnvironment](https://docs.aws.amazon.com/codecatalyst/latest/APIReference/API_UpdateDevEnvironment.html)。

## 我無法存取 `/projects/projects`中的檔案 AWS Cloud9
<a name="troubleshooting-devenvironments-c9-filesystem"></a>

 AWS Cloud9 編輯器無法存取 目錄中的檔案`/projects/projects`。若要修正問題，請使用 AWS Cloud9 終端機來存取您的檔案，或將檔案移至不同的目錄。

## 我無法使用自訂 devfile AWS Cloud9 在 中啟動我的開發環境
<a name="troubleshooting-devenvironments-c9-image"></a>

您的 devfile 映像可能與 不相容 AWS Cloud9。若要修正問題，請從您的儲存庫和對應的開發環境檢閱 devfile，並建立新的 devfile 以繼續。

## 我在 中遇到問題 AWS Cloud9
<a name="troubleshooting-c9"></a>

對於其他問題，請參閱[AWS Cloud9 《 使用者指南](https://docs.aws.amazon.com/cloud9/latest/user-guide/troubleshooting.html)》中的故障診斷一節。

## 在 JetBrains 中，我無法透過 CodeCatalyst 連線到我的開發環境
<a name="troubleshooting-jetbrains-connect"></a>

若要修正此問題，請檢查您是否只安裝最新版本的 JetBrains。如果您有多個版本，請解除安裝舊版，並關閉 IDE 和瀏覽器，再次註冊您的通訊協定處理常式。然後開啟 JetBrains 並再次註冊通訊協定處理常式。

## 我無法 AWS 工具組 為 IDE 安裝
<a name="troubleshooting-ide-toolkit"></a>

若要修正 VS Code 的此問題， AWS Toolkit for Visual Studio Code 請從 [GitHub](https://github.com/aws/aws-toolkit-vscode/releases) 手動安裝 。

若要修正 JetBrains 的此問題， AWS Toolkit for JetBrains 請從 [GitHub](https://github.com/aws/aws-toolkit-jetbrains/releases) 手動安裝 。

## 在我的 IDE 中，我無法啟動我的開發環境
<a name="troubleshooting-ide-launch"></a>

若要修正 VS 程式碼的此問題，請檢查您是否已安裝最新版本的 VS 程式碼。 AWS Toolkit for Visual Studio Code 如果您沒有最新版本，請更新並啟動您的開發環境。如需詳細資訊，請參閱 [Amazon CodeCatalyst for VS Code](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/codecatalyst-service.html)。

若要修正 JetBrains 的此問題，請檢查您是否已安裝最新版本的 JetBrains 和 AWS Toolkit for JetBrains 。如果您沒有最新版本，請更新並啟動您的開發環境。如需詳細資訊，請參閱適用於 [JetBrains 的 Amazon CodeCatalyst](https://docs.aws.amazon.com/toolkit-for-jetbrains/latest/userguide/codecatalyst-overview.html)。

# 對 devfile 的問題進行故障診斷
<a name="devenvironments-devenvironments-devfile"></a>

請參閱下列各節，以疑難排解 CodeCatalyst 中與 devfile 相關的問題。如需 devfile 的詳細資訊，請參閱 [設定開發環境的 devfile](devenvironment-devfile.md)。

**Topics**
+ [我的開發環境使用預設通用 devfile，即使已在自訂 devfile 中實作自訂映像](#troubleshooting-devenvironments-custom-image)
+ [我的專案並未使用預設通用 devfile 在我的開發環境中建置](#troubleshooting-devenvironments-default-image)
+ [我想要移動開發環境的儲存庫 devfile](#troubleshooting-devenvironments-devfile-moving)
+ [我在啟動我的 devfile 時遇到問題](#troubleshooting-devenvironments-devfile-recovery)
+ [我不確定如何檢查我的 devfile 狀態](#troubleshooting-devenvironments-devfile-status)
+ [我的 devfile 與最新映像中提供的工具不相容](#troubleshooting-devenvironments-devfile-version)

## 我的開發環境使用預設通用 devfile，即使已在自訂 devfile 中實作自訂映像
<a name="troubleshooting-devenvironments-custom-image"></a>

如果 CodeCatalyst 在啟動使用自訂 devfile 的開發環境時發生錯誤，則開發環境預設為預設的通用 devfile。若要修正問題，您可以在 下的日誌中檢查確切錯誤`/aws/mde/logs/devfile.log`。您也可以檢查日誌中的`postStart`執行是否成功：`/aws/mde/logs/devfileCommand.log`。

## 我的專案並未使用預設通用 devfile 在我的開發環境中建置
<a name="troubleshooting-devenvironments-default-image"></a>

修正您未使用自訂 devfile 的問題檢查。如果您不是使用自訂 devfile，請在專案的來源儲存庫中檢視 `devfile.yaml` 檔案，以尋找並修正任何錯誤。

## 我想要移動開發環境的儲存庫 devfile
<a name="troubleshooting-devenvironments-devfile-moving"></a>

您可以將預設 devfile `/projects/devfile.yaml` 移入原始程式碼儲存庫。若要更新 devfile 的位置，請使用下列命令：`/aws/mde/mde start --location repository-name/devfile.yaml`。

## 我在啟動我的 devfile 時遇到問題
<a name="troubleshooting-devenvironments-devfile-recovery"></a>

如果啟動您的 devfile 時發生問題，它會進入復原模式，以便您仍然可以連線到您的環境並修正您的 devfile。在復原模式中，執行 `/aws/mde/mde status`不會包含您 devfile 的位置。

```
{
    "status": "STABLE"
}
```

您可以在 下的日誌中檢查錯誤`/aws/mde/logs`、修正 devfile，然後再試一次`/aws/mde/mde start`。

## 我不確定如何檢查我的 devfile 狀態
<a name="troubleshooting-devenvironments-devfile-status"></a>

您可以執行 來檢查您的 devfile 狀態`/aws/mde/mde status`。執行此命令後，您可能會看到下列其中一項：
+ `{"status": "STABLE", "location": "devfile.yaml" }`

  這表示您的 devfile 正確。
+ `{"status": "STABLE" }`

  這表示您的 devfile 無法啟動，並已進入復原模式。

您可以在 下的日誌中檢查確切錯誤`/aws/mde/logs/devfile.log`。

您也可以檢查日誌中的`postStart`執行是否成功：`/aws/mde/logs/devfileCommand.log`。

如需詳細資訊，請參閱[指定開發環境的通用 devfile 映像](devenvironment-universal-image.md)。

## 我的 devfile 與最新映像中提供的工具不相容
<a name="troubleshooting-devenvironments-devfile-version"></a>

在您的開發環境中，如果`latest`工具沒有特定專案所需的工具，則 `devfile`或 `devfile postStart`可能會失敗。若要修正問題，請執行下列動作：<a name="devenvironment-devfile-version"></a>

1. 導覽至您的 devfile。

1. 在您的 devfile 中，更新為精細影像版本，而非 `latest`。它看起來可能會類似以下內容：

   ```
   components:
     - container:
         image: public.ecr.aws/amazonlinux/universal-image:1.0
   ```

1. 使用更新的 devfile 建立新的開發環境。

# 對工作流程的問題進行故障診斷
<a name="troubleshooting-workflows"></a>

請參閱下列各節，針對 Amazon CodeCatalyst 中的工作流程相關問題進行疑難排解。如需工作流程的相關詳細資訊，請參閱 [使用工作流程建置、測試和部署使用工作流程建置、測試和部署](workflow.md)。

**Topics**
+ [如何修正「工作流程非作用中」訊息？](#troubleshooting-workflows-inactive)
+ [如何修正「工作流程定義有 *n* 個錯誤」錯誤？](#troubleshooting-workflows-asterisks)
+ [如何修正「找不到登入資料」和「ExpiredToken」錯誤？](#troubleshooting-workflows-auth-errors-eks)
+ [如何修正「無法連線至伺服器」錯誤？](#troubleshooting-workflows-unable-connect-eks)
+ [為什麼視覺化編輯器中缺少 CodeDeploy 欄位？](#troubleshooting-workflows-codedeploy)
+ [如何修正 IAM 功能錯誤？](#troubleshooting-workflows-capabilities)
+ [如何修正「npm 安裝」錯誤？](#troubleshooting-workflows-npm)
+ [為什麼多個工作流程具有相同的名稱？](#troubleshooting-workflows-name)
+ [我可以將工作流程定義檔案存放在另一個資料夾中嗎？](#troubleshooting-workflows-folder)
+ [如何將動作依序新增至工作流程？](#troubleshooting-workflows-visual)
+ [為什麼我的工作流程成功驗證，但在執行時間失敗？](#troubleshooting-workflows-validation)
+ [自動探索不會發現我的動作的任何報告](#troubleshooting-reports-auto-discovery)
+ [設定成功條件後，自動探索的報告上的動作失敗](#troubleshooting-success-auto-discovery)
+ [自動探索會產生我不想的報告](#troubleshooting-unwanted-auto-discovery)
+ [自動探索會針對單一測試架構產生許多小型報告](#troubleshooting-reports-combined)
+ [CI/CD 下列出的工作流程與來源儲存庫中的工作流程不相符](#troubleshooting-workflow-source)
+ [我無法建立或更新工作流程](#troubleshooting-workflows-branchrules)

## 如何修正「工作流程非作用中」訊息？
<a name="troubleshooting-workflows-inactive"></a>

**問題**：在 CodeCatalyst 主控台的 **CI/CD** 下，**工作流程**會顯示下列訊息：

`Workflow is inactive.`

此訊息表示工作流程定義檔案包含的觸發條件不適用於您目前所在的分支。例如，您的工作流程定義檔案可能包含參考`main`分支的`PUSH`觸發條件，但您正在功能分支。由於您在功能分支中所做的變更不適用於 `main`，而且 不會在 中啟動工作流程執行`main`，因此 CodeCatalyst 會停用分支上的工作流程並將其標記為 `Inactive`。

**可能的修正：**

如果您想要在功能分支上啟動工作流程，您可以執行下列動作：
+ 在功能分支的工作流程定義檔案中，從 `Triggers`區段移除 `Branches` 屬性，使其看起來像這樣：

  ```
  Triggers:
    - Type: PUSH
  ```

  此組態會在推送至任何分支時觸發，包括您的功能分支。如果啟用觸發條件，CodeCatalyst 將使用工作流程定義檔案和您推送到的任何分支中的來源檔案來啟動工作流程執行。
+ 在功能分支的工作流程定義檔案中，移除 `Triggers`區段並手動執行工作流程。
+ 在您的功能分支中，在工作流程定義檔案中變更 `PUSH`區段，使其參考您的功能分支，而不是另一個分支 （例如 `main`)。

**重要**  
如果您不打算將變更合併回`main`分支，請小心不要遞交這些變更。

如需編輯工作流程定義檔案的詳細資訊，請參閱 [建立工作流程](workflows-create-workflow.md)。

關於觸發條件的詳細資訊，請參閱 [使用觸發程序自動啟動工作流程執行](workflows-add-trigger.md)。

## 如何修正「工作流程定義有 *n* 個錯誤」錯誤？
<a name="troubleshooting-workflows-asterisks"></a>

**問題**：您會看到下列任何錯誤訊息：

**錯誤 1：**

在 **CI/CD**、**工作流程**頁面的工作流程名稱下，您會看到：

`Workflow definition has n errors`

**錯誤 2：**

編輯工作流程時，您可以選擇**驗證**按鈕，下列訊息會顯示在 CodeCatalyst 主控台頂端：

`The workflow definition has errors. Fix the errors and choose Validate to verify your changes.`

**錯誤 3：**

導覽至工作流程的詳細資訊頁面後，您會在**工作流程定義**欄位中看到下列錯誤：

`n errors`

**可能的修正：**
+ 選擇 **CI/CD**、選擇**工作流程**，然後選擇發生錯誤的工作流程名稱。在頂端附近的**工作流程定義**欄位中，選擇錯誤的連結。有關錯誤的詳細資訊會顯示在頁面底部。請依照錯誤中的疑難排解秘訣來修正問題。
+ 確定工作流程定義檔案是 YAML 檔案。
+ 確定工作流程定義檔案中的 YAML 屬性巢狀在正確的層級。若要查看屬性應該如何巢狀化在工作流程定義檔案中，請參閱 [工作流程 YAML 定義](workflow-reference.md)，或參閱從 連結到 的動作文件[將動作新增至工作流程](workflows-add-action.md)。
+ 請確定正確逸出星號 (`*`) 和其他特殊字元。若要逸出這些引號，請新增單引號或雙引號。例如：

  ```
  Outputs:      
    Artifacts:
      - Name: myartifact
        Files:
          - "**/*"
  ```

  如需工作流程定義檔案中特殊字元的詳細資訊，請參閱 [語法準則和慣例](workflow-reference.md#workflow.terms.syntax.conv)。
+ 請確定工作流程定義檔案中的 YAML 屬性使用正確的大小寫。如需大小寫規則的詳細資訊，請參閱 [語法準則和慣例](workflow-reference.md#workflow.terms.syntax.conv)。若要判斷每個屬性的正確大小寫，請參閱 [工作流程 YAML 定義](workflow-reference.md)，或參閱從 連結到 的動作文件[將動作新增至工作流程](workflows-add-action.md)。
+ 確定 `SchemaVersion` 屬性存在，並在工作流程定義檔案中設定為正確的版本。如需詳細資訊，請參閱[SchemaVersion](workflow-reference.md#workflow.schemaversion)。
+ 請確定工作流程定義檔案中的 `Triggers`區段包含所有必要屬性。若要判斷所需的屬性，請在[視覺化編輯器](workflow.md#workflow.editors)中選擇觸發條件，並尋找缺少資訊的欄位，或參閱 中的觸發條件參考文件[Triggers](workflow-reference.md#triggers-reference)。
+ 請確定工作流程定義檔案中的 `DependsOn` 屬性已正確設定，且不會引入循環相依性。如需詳細資訊，請參閱[定序動作](workflows-depends-on.md)。
+ 請確定工作流程定義檔案中的 `Actions`區段至少包含一個動作。如需詳細資訊，請參閱[動作](workflow-reference.md#actions-reference)。
+ 請確定每個動作都包含所有必要的屬性。若要判斷所需的屬性，請在[視覺化編輯器](workflow.md#workflow.editors)中選擇動作，並尋找缺少資訊的欄位，或參閱從 連結至 的動作文件[將動作新增至工作流程](workflows-add-action.md)。
+ 確保所有輸入成品都有對應的輸出成品。如需詳細資訊，請參閱[定義輸出成品](workflows-working-artifacts-output.md)。
+ 請確定已匯出一個動作中定義的變數，以便將其用於其他動作。如需詳細資訊，請參閱[匯出變數，讓其他動作可以使用它](workflows-working-with-variables-export-input.md)。

## 如何修正「找不到登入資料」和「ExpiredToken」錯誤？
<a name="troubleshooting-workflows-auth-errors-eks"></a>

**問題**：在處理 時[教學課程：將應用程式部署至 Amazon EKS](deploy-tut-eks.md)，您會在開發機器的終端機視窗中看到下列其中一個或兩個錯誤訊息：

`Unable to locate credentials. You can configure credentials by running "aws configure".`

`ExpiredToken: The security token included in the request is expired` 

**可能的修正：**

這些錯誤表示您用來存取 AWS 服務的登入資料已過期。在此情況下，請勿執行 `aws configure`命令。請改用下列指示來重新整理您的 AWS 存取金鑰和工作階段字符。

**重新整理您的 AWS 存取金鑰和工作階段字符**

1. 請確定您擁有使用完整 Amazon EKS 教學課程 () 之使用者的 AWS 存取入口網站 URL、使用者名稱和密碼`codecatalyst-eks-user`。當您完成[步驟 1：設定您的開發機器](deploy-tut-eks.md#deploy-tut-eks-dev-env-create)教學課程時，您應該已設定這些項目。
**注意**  
如果您沒有此資訊，請前往 IAM Identity Center 的詳細資訊`codecatalyst-eks-user`頁面，選擇**重設密碼**、**產生一次性密碼 【...】** 和再次**重設密碼**，以在畫面上顯示資訊。

1. 執行以下任意一項：
   + 將 AWS 存取入口網站 URL 貼到瀏覽器的地址列。

     或
   + 如果已載入 AWS 存取入口網站頁面，請重新整理。

1. 如果您尚未登入，請使用 `codecatalyst-eks-user`的使用者名稱和密碼登入。

1. 選擇 **AWS 帳戶**，然後選擇 AWS 帳戶 您指派`codecatalyst-eks-user`使用者和許可集的 名稱。

1. 在許可集名稱 (`codecatalyst-eks-permission-set`) 旁邊，選擇**命令列或程式設計存取**。

1. 在頁面中間複製命令。它們看起來類似以下內容：

   ```
   export AWS_ACCESS_KEY_ID="AKIAIOSFODNN7EXAMPLE" 
   export AWS_SECRET_ACCESS_KEY="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" 
   export AWS_SESSION_TOKEN="session-token"
   ```

   ...其中 *session-token* 是長隨機字串。

1. 將命令貼到您的開發機器的終端機提示中，然後按 Enter 鍵。

   會載入新的金鑰和工作階段字符。

   您現在已重新整理您的登入資料。 AWS CLI、 `eksctl`和 `kubectl`命令現在應該可以運作。

## 如何修正「無法連線至伺服器」錯誤？
<a name="troubleshooting-workflows-unable-connect-eks"></a>

**問題**：在 中所述的教學課程中[教學課程：將應用程式部署至 Amazon EKS](deploy-tut-eks.md)，您會在開發機器的終端機視窗中看到類似以下的錯誤訊息：

`Unable to connect to the server: dial tcp: lookup long-string.gr7.us-west-2.eks.amazonaws.com on 1.2.3.4:5: no such host`

**可能的修正：**

此錯誤通常表示`kubectl`公用程式用來連線至 Amazon EKS 叢集的登入資料已過期。若要解決此問題，請在終端機提示中輸入下列命令來重新整理憑證：

```
aws eks update-kubeconfig --name codecatalyst-eks-cluster --region us-west-2
```

其中：
+ *codecatalyst-eks-cluster* 會取代為您的 Amazon EKS 叢集名稱。
+ *us-west-2* 被部署叢集的 AWS 區域取代。

## 為什麼視覺化編輯器中缺少 CodeDeploy 欄位？
<a name="troubleshooting-workflows-codedeploy"></a>

**問題**：您正在使用[部署到 Amazon ECS](deploy-action-ecs.md) 動作，而且在工作流程的視覺化編輯器中看不到 CodeDeploy ** AppSpec 等 CodeDeploy ** 欄位。此問題可能是因為您在服務欄位中指定的 Amazon ECS **服務**未設定為執行藍/綠部署。

**可能的修正：**
+ 在**部署至 Amazon ECS 動作的組態索引標籤上，選擇不同的 Amazon ECS** 服務。 ****如需詳細資訊，請參閱[使用工作流程部署至 Amazon ECS](deploy-action-ecs.md)。
+ 設定選取的 Amazon ECS 服務來執行藍/綠部署。如需設定藍/綠部署的詳細資訊，請參閱《*Amazon Elastic Container Service 開發人員指南*》中的[使用 CodeDeploy 進行藍/綠部署](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-bluegreen.html)。

## 如何修正 IAM 功能錯誤？
<a name="troubleshooting-workflows-capabilities"></a>

**問題**：您正在使用[部署 CloudFormation 堆疊](deploy-action-cfn.md)動作，而且您會在**部署 CloudFormation 堆疊**動作的日誌`##[error] requires capabilities: [capability-name]`中看到 。

**可能的修正**：請完成下列程序，將 功能新增至工作流程定義檔案。如需 IAM 功能的詳細資訊，請參閱《[IAM 使用者指南》中的在 CloudFormation 範本中確認 IAM 資源](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#using-iam-capabilities)。 **

------
#### [ Visual ]

**使用視覺化編輯器新增 IAM 功能**

1. 在 https：//[https://codecatalyst.aws/](https://codecatalyst.aws/) 開啟 CodeCatalyst 主控台。

1. 選擇您的專案。

1. 在導覽窗格中，選擇 **CI/CD**，然後選擇**工作流程**。

1. 選擇工作流程的名稱。您可以依定義工作流程的來源儲存庫或分支名稱進行篩選，或依工作流程名稱或狀態進行篩選。

1. 選擇**編輯**。

1. 選擇**視覺化**。

1. 在工作流程圖表中，選擇**部署 CloudFormation 堆疊**動作。

1. 選擇 **Configuration** (組態) 索引標籤。

1. 在底部，選擇**進階 - 選用**。

1. 在**功能**下拉式清單中，選取錯誤訊息中所提及功能的核取方塊。如果清單中無法使用此功能，請使用 YAML 編輯器來新增此功能。

1. （選用） 選擇**驗證**以在遞交之前驗證工作流程的 YAML 程式碼。

1. 選擇**遞交**，輸入遞交訊息，然後再次選擇**遞交**。

1. 如果新的工作流程執行未自動啟動，請手動執行工作流程，以查看變更是否修正錯誤。如需手動執行工作流程的詳細資訊，請參閱 [手動啟動工作流程執行](workflows-manually-start.md)。

------
#### [ YAML ]

**使用 YAML 編輯器新增 IAM 功能**

1. 在 https：//[https://codecatalyst.aws/](https://codecatalyst.aws/) 開啟 CodeCatalyst 主控台。

1. 選擇您的專案。

1. 在導覽窗格中，選擇 **CI/CD**，然後選擇**工作流程**。

1. 選擇工作流程的名稱。您可以依定義工作流程的來源儲存庫或分支名稱進行篩選，或依工作流程名稱或狀態進行篩選。

1. 選擇**編輯**。

1. 選擇 **YAML**。

1. 在**部署 CloudFormation 堆疊**動作中，新增`capabilities`屬性，如下所示：

   ```
   DeployCloudFormationStack:
     Configuration:
       capabilities: capability-name
   ```

   將 *capability-name* 取代為錯誤訊息中顯示的 IAM 功能名稱。使用逗號和無空格來列出多個功能。如需詳細資訊，請參閱 中 `capabilities` 屬性的描述[「部署 CloudFormation 堆疊」動作 YAML](deploy-action-ref-cfn.md)。

1. （選用） 選擇**驗證**以在遞交之前驗證工作流程的 YAML 程式碼。

1. 選擇**遞交**，輸入遞交訊息，然後再次選擇**遞交**。

1. 如果新的工作流程執行未自動啟動，請手動執行工作流程，以查看變更是否修正錯誤。如需手動執行工作流程的詳細資訊，請參閱 [手動啟動工作流程執行](workflows-manually-start.md)。

------

## 如何修正「npm 安裝」錯誤？
<a name="troubleshooting-workflows-npm"></a>

**問題**：您的[AWS CDK 部署動作](cdk-dep-action.md)或[AWS CDK 引導操作](cdk-boot-action.md)失敗並發生錯誤`npm install`。可能會發生此錯誤，因為您將 AWS CDK 應用程式相依性儲存在私有節點套件管理員 (npm) 登錄檔中，該登錄檔無法由 動作存取。

**可能的修正**：使用以下指示，使用其他登錄檔和身分驗證資訊來更新 AWS CDK 應用程式的 `cdk.json` 檔案。

**開始之前**

1. 為您的身分驗證資訊建立秘密。您將在 `cdk.json` 檔案中參考這些秘密，而不是提供純文字對等項目。若要建立秘密：

   1. 在 https：//[https://codecatalyst.aws/](https://codecatalyst.aws/) 開啟 CodeCatalyst 主控台。

   1. 選擇您的專案。

   1. 在導覽窗格中，選擇 **CI/CD**，然後選擇**秘密**。

   1. 使用下列屬性建立兩個秘密：    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/codecatalyst/latest/userguide/troubleshooting-workflows.html)

      如需秘密的詳細資訊，請參閱 [使用秘密遮罩資料](workflows-secrets.md)。

1. 將秘密新增為 AWS CDK 動作的環境變數。動作會在執行時以實際值取代變數。若要新增秘密：

   1. 在導覽窗格中，選擇 **CI/CD**，然後選擇**工作流程**。

   1. 選擇工作流程的名稱。您可以依定義工作流程的來源儲存庫或分支名稱進行篩選，或依工作流程名稱或狀態進行篩選。

   1. 選擇**編輯**。

   1. 選擇**視覺化**。

   1. 在工作流程圖表中，選擇您的 AWS CDK 動作。

   1. 選擇**輸入**索引標籤。

   1. 新增具有下列屬性的兩個變數：    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/codecatalyst/latest/userguide/troubleshooting-workflows.html)

      您現在有兩個變數，其中包含對秘密的參考。

   您的工作流程定義檔案 YAML 程式碼看起來應該類似以下內容：
**注意**  
下列程式碼範例來自**AWS CDK 引導**操作；**AWS CDK 部署**動作看起來會類似。

   ```
   Name: CDK_Bootstrap_Action
   SchemaVersion: 1.0
   Actions:
     CDKBootstrapAction:
       Identifier: aws/cdk-bootstrap@v2
       Inputs:
         Variables:
           - Name: NPMUSER
             Value: ${Secrets.npmUsername}
           - Name: NPMTOKEN
             Value: ${Secrets.npmAuthToken}
         Sources:
           - WorkflowSource
       Environment:
         Name: Dev2
         Connections:
           - Name: account-connection
             Role: codecatalystAdmin
       Configuration:
         Parameters:
           Region: "us-east-2"
   ```

   您現在可以在 `cdk.json` 檔案中使用 `NPMUSER`和 `NPMTOKEN`變數。前往下一個程序。

**更新您的 cdk.json 檔案**

1. 變更為 AWS CDK 專案的根目錄，然後開啟 `cdk.json` 檔案。

1. 尋找 `"app":` 屬性，並將其變更為包含以*紅色斜體*顯示的程式碼：
**注意**  
下列範例程式碼來自 TypeScript 專案。如果您使用的是 JavaScript 專案，程式碼看起來會類似，但並不相同。

   ```
   {
     "app": "npm set registry=https://your-registry/folder/CDK-package/ --userconfig .npmrc && npm set //your-registry/folder/CDK-package/:always-auth=true --userconfig .npmrc && npm set //your-registry/folder/CDK-package/:_authToken=\"${NPMUSER}\":\"${NPMTOKEN}\" && npm install  && npx ts-node --prefer-ts-exts bin/hello-cdk.ts|js",
     "watch": {
       "include": [
         "**"
       ],
       "exclude": [
         "README.md",
         "cdk*.json",
         "**/*.d.ts",
         "**/*.js",
         "tsconfig.json",
         "package*.json",
   ...
   ```

1. 在以*紅色斜體*反白顯示的程式碼中，取代：
   + *your-registry/folder/CDK-package/* 搭配私有登錄檔中 AWS CDK 專案相依性的路徑。
   + *hello-cdk.ts\$1.js*，包含您的進入點檔案名稱。視您使用的語言而定，這可能是 `.ts`(TypeScript) 或 `.js`(JavaScript) 檔案。
**注意**  
動作會將 *NPMUSER* 和 *NPMTOKEN* 變數取代為您在 **Secrets** 中指定的 npm 使用者名稱和存取字符。

1. 儲存您的 `cdk.json` 檔案。

1. 手動重新執行動作，以查看變更是否修正錯誤。如需手動執行動作的詳細資訊，請參閱 [手動啟動工作流程執行](workflows-manually-start.md)。

## 為什麼多個工作流程具有相同的名稱？
<a name="troubleshooting-workflows-name"></a>



每個 儲存庫的每個分支都會存放工作流程。如果兩個不同的工作流程存在於不同的分支中，則可以有相同的名稱。在工作流程頁面中，您可以查看分支名稱來區分相同名稱的工作流程。如需詳細資訊，請參閱[使用 Amazon CodeCatalyst 中的分支組織您的原始程式碼](source-branches.md)。

![\[工作流程分支\]](http://docs.aws.amazon.com/zh_tw/codecatalyst/latest/userguide/images/flows/workflow-branch.png)


## 我可以將工作流程定義檔案存放在另一個資料夾中嗎？
<a name="troubleshooting-workflows-folder"></a>

否，您必須將所有工作流程定義檔案存放在 `.codecatalyst/workflows` 資料夾或該資料夾的子資料夾中。如果您將單一儲存庫與多個邏輯專案搭配使用，請將所有工作流程定義檔案放在 `.codecatalyst/workflows` 資料夾或其中一個子資料夾中，然後在觸發條件內使用**檔案變更**欄位 （視覺化編輯器） 或`FilesChanged`屬性 (YAML 編輯器），以在指定的專案路徑自動觸發工作流程。如需詳細資訊，請參閱[將觸發條件新增至工作流程](workflows-add-trigger-add.md)及[範例：具有推送、分支和檔案的觸發](workflows-add-trigger-examples.md#workflows-add-trigger-examples-push-multi)。

## 如何將動作依序新增至工作流程？
<a name="troubleshooting-workflows-visual"></a>

根據預設，當您將動作新增至工作流程時，它不會有相依性，而且會與其他動作平行執行。

如果您想要依序排列動作，您可以透過設定 `DependsOn` 欄位來設定另一個動作的相依性。您也可以設定 動作來取用成品或變數，這些成品或變數是其他動作的輸出。如需詳細資訊，請參閱[定序動作](workflows-depends-on.md)。

## 為什麼我的工作流程成功驗證，但在執行時間失敗？
<a name="troubleshooting-workflows-validation"></a>

如果您使用 `Validate` 按鈕驗證工作流程，但您的工作流程仍然失敗，可能是因為驗證器有限制。

工作流程組態中有關 CodeCatalyst 資源的任何錯誤，例如秘密、環境或機群，都不會在遞交期間註冊。如果使用任何無效的參考，只有在工作流程執行時才會識別錯誤。同樣地，如果您的動作組態中有任何錯誤，例如缺少必要欄位或動作屬性的錯別字，只有在工作流程執行時才會識別這些錯誤。如需詳細資訊，請參閱[建立工作流程](workflows-create-workflow.md)。

## 自動探索不會發現我的動作的任何報告
<a name="troubleshooting-reports-auto-discovery"></a>

**問題：**我為執行測試的動作設定了自動探索，但 CodeCatalyst 不會發現任何報告。

**可能的修正：**這可能是由許多問題引起的。嘗試下列一或多個解決方案：
+ 請確定用於執行測試的工具會以 CodeCatalyst 了解的其中一種格式產生輸出。例如，如果您`pytest`想要允許 CodeCatalyst 探索測試和程式碼涵蓋範圍報告，請包含下列引數：

  ```
  --junitxml=test_results.xml --cov-report xml:test_coverage.xml
  ```

  如需詳細資訊，請參閱[品質報告類型](test-workflow-actions.md#test-reporting)。
+ 請確定輸出的副檔名與選擇的格式一致。例如，設定 `pytest`以`JUnitXML`產生 格式的結果時，請檢查副檔名是否為 `.xml`。如需詳細資訊，請參閱[品質報告類型](test-workflow-actions.md#test-reporting)。
+ 請確定 `IncludePaths` 已設定為包含整個檔案系統 (`**/*`)，除非您刻意排除特定資料夾。同樣地，`ExcludePaths`請勿排除您預期報告所在的目錄。
+ 如果您手動將報告設定為使用特定輸出檔案，它將被排除在自動探索之外。如需詳細資訊，請參閱[品質報告 YAML 範例](test-config-action.md#test.success-criteria-example)。
+ 自動探索可能找不到報告，因為動作在產生任何輸出之前失敗。例如，組建在執行任何單元測試之前可能已失敗。

## 設定成功條件後，自動探索的報告上的動作失敗
<a name="troubleshooting-success-auto-discovery"></a>

**問題：**當我啟用自動探索並設定成功條件時，有些報告不符合成功條件，導致動作失敗。

**可能的修正：**若要解決此問題，請嘗試下列一或多個解決方案：
+ 修改 `IncludePaths`或 `ExcludePaths`以排除您不感興趣的報告。
+ 更新成功條件以允許所有報告通過。例如，如果發現兩個報告具有 50% 的折線涵蓋範圍，另一個報告具有 70% 的折線涵蓋範圍，請將最小折線涵蓋範圍調整為 50%。如需詳細資訊，請參閱[成功條件](test-best-practices.md#test.best-success-criteria)
+ 將失敗的報告轉換為手動設定的報告。這可讓您為該特定報告設定不同的成功條件。如需詳細資訊，請參閱[設定報告的成功條件](test-config-action.md#test.success-criteria)。

## 自動探索會產生我不想的報告
<a name="troubleshooting-unwanted-auto-discovery"></a>

**問題：**當我啟用自動探索時，它會產生我不想的報告。例如，CodeCatalyst 會為存放在 的應用程式相依性中包含的檔案產生程式碼涵蓋範圍報告`node_modules`。

**可能的修正：**您可以調整`ExcludePaths`組態以排除不需要的檔案。例如，若要排除 `node_modules`，請新增 `node_modules/**/*`。如需詳細資訊，請參閱[包含/排除路徑](test-best-practices.md#test.best-include-exclude)。

## 自動探索會針對單一測試架構產生許多小型報告
<a name="troubleshooting-reports-combined"></a>

**問題：**當我使用特定測試和程式碼涵蓋範圍報告架構時，我注意到自動探索會產生大量報告。例如，使用 [Maven Surefire 外掛程式](https://maven.apache.org/surefire/maven-surefire-plugin/)時，自動探索會為每個測試類別產生不同的報告。

**可能的修正：**您的架構可能可以將輸出彙總為單一檔案。例如，如果您使用 Maven Surefire 外掛程式，您可以使用 手動`npx junit-merge`彙總檔案。完整的表達式可能如下所示：

```
mvn test; cd test-package-path/surefire-reports && npx junit-merge -d ./ && rm *Test.xml
```

## CI/CD 下列出的工作流程與來源儲存庫中的工作流程不相符
<a name="troubleshooting-workflow-source"></a>

**問題：****CI/CD**、工作流程頁面上顯示的工作流程與[來源儲存庫](source.md)中`~/.codecatalyst/workflows/`資料夾中的**工作流程**不相符。您可能會看到以下不相符：
+ 工作流程會出現在**工作流程**頁面上，但來源儲存庫中不存在對應的工作流程定義檔案。
+ 您的來源儲存庫中存在工作流程定義檔案，但對應的工作流程不會出現在**工作流程**頁面上。
+ 來源儲存庫和工作流程頁面中都存在**工作流程**，但兩者不同。

如果**工作流程**頁面沒有時間重新整理，或超過工作流程配額，可能會發生此問題。

**可能的修正：**
+ 等候。在遞交來源之後，您通常必須等待兩到三秒，才能在**工作流程**頁面上看到變更。
+ 如果您已超過工作流程配額，請執行下列其中一項操作：
**注意**  
若要判斷是否超過工作流程配額，請檢閱 [CodeCatalyst 中工作流程的配額](workflows-quotas.md)，並針對來源儲存庫或工作流程頁面上的工作流程交叉檢查記錄**的**配額。沒有錯誤訊息指出超過配額，因此您必須自行調查。
  + 如果您已超過**每個空間配額的工作流程數量上限**，請刪除一些工作流程，然後對工作流程定義檔案執行測試遞交。測試遞交的範例可能是將空間新增至 檔案。
  + 如果您超過**工作流程定義檔案大小配額上限**，請變更工作流程定義檔案以減少其長度。
  + 如果您已超過**單一來源事件配額中處理的工作流程檔案數目上限**，請執行數個測試遞交。修改少於每個遞交中工作流程的數量上限。

## 我無法建立或更新工作流程
<a name="troubleshooting-workflows-branchrules"></a>

**問題：**我想要建立或更新工作流程，但在嘗試遞交變更時看到錯誤。

**可能的修正：**視您在專案或空間中的角色而定，您可能沒有將程式碼推送至專案中來源儲存庫的許可。工作流程的 YAML 檔案會存放在 儲存庫中。如需詳細資訊，請參閱[工作流程定義檔案](workflows-concepts.md#workflows-concepts-workflows-def)。**空間管理員**角色、**專案管理員**角色和**貢獻者**角色都具有將程式碼遞交和推送至專案中儲存庫的許可。

如果您有 **Contributor **角色，但無法建立或遞交變更至特定分支中的工作流程 YAML，該分支可能會設定分支規則，以防止具有該角色的使用者將程式碼推送至該特定分支。嘗試在不同分支中建立工作流程，或將您的變更遞交至不同的分支。如需詳細資訊，請參閱[使用分支規則管理分支的允許動作](source-branches-branch-rules.md)。

# 針對問題進行故障診斷
<a name="troubleshooting-issues"></a>

以下資訊可協助您疑難排解 CodeCatalyst 中問題的常見問題。

**Topics**
+ [我無法為我的問題選擇受指派者](#troubleshooting-issues-assignees)

## 我無法為我的問題選擇受指派者
<a name="troubleshooting-issues-assignees"></a>

**問題：**建立問題時，受指派者清單為空白。

**可能的修正：**受指派者清單會直接連結至列為專案成員的 CodeCatalyst 使用者。若要驗證使用者設定檔存取是否正常運作，請選擇設定檔圖示，然後選擇**使用者設定檔**。如果使用者設定檔資訊未填入，請檢查運作狀態報告是否有任何事件。如果確實填入，請提交服務票證。

# 對 CodeCatalyst 中的搜尋問題進行故障診斷
<a name="troubleshooting-search"></a>

請參閱下列各節，以疑難排解與在 CodeCatalyst 中搜尋相關的問題。如需工作流程的相關詳細資訊，請參閱 [在 CodeCatalyst 中搜尋程式碼、問題、專案和使用者搜尋程式碼、問題、專案和使用者](search.md)。

**Topics**
+ [我在專案中找不到使用者](#troubleshooting-search-users)
+ [我在專案或空間中看不到正在尋找的內容](#troubleshooting-missing-results)
+ [當我瀏覽頁面時，搜尋結果的數量會不斷變更](#troubleshooting-search-results)
+ [我的搜尋查詢尚未完成](#troubleshooting-requests-limits)

## 我在專案中找不到使用者
<a name="troubleshooting-search-users"></a>

**問題：**當我嘗試檢視使用者的詳細資訊時，我在專案中看不到他們的資訊。

**可能的修正：**搜尋目前不支援在專案中搜尋使用者。若要搜尋可存取您空間的使用者，請在 QuickSearch 中切換到**此空間**，或移除您可能使用進階查詢語言指定的任何專案篩選條件。

## 我在專案或空間中看不到正在尋找的內容
<a name="troubleshooting-missing-results"></a>

**問題：**當我嘗試搜尋特定資訊時，結果不會顯示。

**可能的修正：**在搜尋結果中更新內容可能需要幾秒鐘的時間。大型更新可能需要幾分鐘的時間。

對於最近尚未更新的資源，您可能需要縮小搜尋範圍。您可以新增更多關鍵字或使用進階查詢語言來精簡。如需精簡查詢的詳細資訊，請參閱 [精簡您的搜尋查詢](search.md#search-query-language-examples)。

## 當我瀏覽頁面時，搜尋結果的數量會不斷變更
<a name="troubleshooting-search-results"></a>

**問題：**當我前往下一頁時，搜尋結果的數量似乎會變更，因此不清楚總結果有多少。

**可能的修正：**瀏覽搜尋結果頁面時，您可能會看到符合查詢的搜尋結果數量有所變更。結果數量可能會更新，以反映您在瀏覽頁面時發現的更準確相符項目數量。

當您瀏覽結果時，您可能會看到以下訊息：**「測試」沒有結果**。如果您無法存取剩餘的結果，您將會收到訊息。

## 我的搜尋查詢尚未完成
<a name="troubleshooting-requests-limits"></a>

**問題：**我的搜尋查詢結果未顯示，而且似乎需要太長時間。

**可能的修正：**當空間中同時進行許多搜尋時，您的搜尋可能無法完成，無論是以程式設計方式進行，還是因為高團隊活動。如果您要執行程式設計搜尋，請暫停或減少它們。否則，請在幾秒鐘後再試一次。

# 對延伸模組的問題進行故障診斷
<a name="troubleshooting-extensions"></a>

請參閱下列各節，以疑難排解 CodeCatalyst 中與延伸模組相關的問題。如需延伸模組的詳細資訊，請參閱[在 CodeCatalyst 中將功能新增至具有擴充功能的專案將功能新增至具有擴充功能的專案](extensions.md)。

**Topics**
+ [我看不到連結的第三方儲存庫變更，或無法搜尋這些變更的結果](#troubleshooting-detect-3p-changes)

## 我看不到連結的第三方儲存庫變更，或無法搜尋這些變更的結果
<a name="troubleshooting-detect-3p-changes"></a>

**問題：**我的第三方儲存庫中的變更未顯示在 CodeCatalyst 中。

**可能的修正：**CodeCatalyst 目前不支援偵測連結儲存庫的預設分支中的變更。若要變更連結儲存庫的預設分支，您必須先將其從 CodeCatalyst 取消連結、變更預設分支，然後再次連結。如需詳細資訊，請參閱[在 CodeCatalyst 中連結 GitHub 儲存庫、Bitbucket 儲存庫、GitLab 專案儲存庫和 Jira 專案](extensions-link.md)。

# 針對與空間相關聯的帳戶問題進行故障診斷
<a name="troubleshooting-connections"></a>

在 CodeCatalyst 中，您可以將 AWS 帳戶 新增至您的空間，以授予 資源許可，並用於計費目的。以下資訊可協助您疑難排解 CodeCatalyst 中關聯帳戶的常見問題。

**Topics**
+ [我的 AWS 帳戶 連線請求收到無效的字符錯誤](#troubleshooting-connection-token)
+ [我的 Amazon CodeCatalyst 專案工作流程失敗，並出現所設定帳戶、環境或 IAM 角色的錯誤](#connections-troubleshoot-workflow)
+ [我需要相關聯的帳戶、角色和環境來建立專案](#connections-troubleshoot-environment)
+ [我無法存取 中的 Amazon CodeCatalyst Spaces 頁面 AWS 管理主控台](#connections-troubleshoot-console)
+ [我想要與我的帳單帳戶不同的帳戶](#connections-troubleshoot-billing)
+ [我的專案工作流程失敗並出現連線名稱錯誤](#connections-troubleshoot-restriction)

## 我的 AWS 帳戶 連線請求收到無效的字符錯誤
<a name="troubleshooting-connection-token"></a>

**問題：**使用連線字符建立連線請求時，頁面不接受字符，並顯示錯誤，指出字符無效。

**可能的修正：**請確定您提供要新增至空間的帳戶 ID。您必須擁有 的管理許可， AWS 帳戶 或能夠與您的管理員合作來新增帳戶。

當您選擇驗證帳戶時，新的瀏覽器視窗會在 中開啟 AWS 管理主控台。必須在主控台端登入相同的帳戶。驗證下列項目後再試一次：
+ 您會使用 AWS 帳戶 您要新增至空間 AWS 管理主控台 的相同 來登入 。
+ 您會登入 ， AWS 管理主控台 並將區域設定為適合您空間的正確區域。
+ 如果您已從帳單頁面抵達，且想要將 新增 AWS 帳戶 為空間的指定帳單帳戶，請確定帳戶尚未達到配額，做為其他空間的帳單帳戶。

## 我的 Amazon CodeCatalyst 專案工作流程失敗，並出現所設定帳戶、環境或 IAM 角色的錯誤
<a name="connections-troubleshoot-workflow"></a>

**問題：**當工作流程執行且找不到與空間相關聯的已設定帳戶或 IAM 角色時，您必須在工作流程 YAML 中手動填入角色、連線和環境欄位。檢視失敗的工作流程動作，並注意錯誤訊息是否如下所示：
+ 此角色無法與與環境相關聯的連線搭配使用。
+ 動作未成功。狀態：失敗；帳戶連線或環境提供的值無效。確認連線與您的空間相關聯，且環境與您的專案相關聯。
+ 動作未成功。狀態：FAILED；IAM 角色提供的值無效。確認名稱存在、IAM 角色已新增至您的帳戶連線，且連線已與您的 Amazon CodeCatalyst 空間建立關聯

**可能的修正：**確定工作流程 YAML 欄位具有[準確的環境](build-action-ref.md#build.environment)、[連線](build-action-ref.md#build.environment.connections)和[角色](build-action-ref.md#build.environment.connections.role)值。需要環境的 CodeCatalyst 工作流程動作是建置或部署執行 AWS 資源或產生 AWS 資源堆疊的動作。

選擇失敗的工作流程動作區塊，然後選擇**視覺化**。選擇 **Configuration** (組態) 索引標籤。如果未填入**環境**、**連線名稱**和**角色名稱**欄位，則您需要手動更新工作流程。使用下列步驟來編輯工作流程 YAML：
+ 展開`/.codecatalyst`目錄，然後展開`/workflows`目錄。開啟工作流程 YAML 檔案。請確定已在您已為工作流程設定的 YAML 中指定 IAM 角色和帳戶資訊。範例：

  ```
  Actions:
    cdk_bootstrap:
      Identifier: action-@v1
      Inputs:
        Sources:
          - WorkflowSource
      Environment:
        Name: Staging
        Connections:
          - Name: account-connection
            Role: build-role
  ```

  執行 CodeCatalyst 工作流程建置和部署具有 AWS 資源的動作時，需要**環境、連線和角色**屬性。如需範例，請參閱 CodeCatalyst 建置動作參考[環境](build-action-ref.md#build.environment)、[連線](build-action-ref.md#build.environment.connections)和[角色](build-action-ref.md#build.environment.connections.role)的 YAML 參數。
+ 請確定您的空間已新增帳戶，並確保帳戶已將適當的 IAM 角色新增至帳戶。如果您有**空間管理員**角色，您可以調整或新增帳戶。如需詳細資訊，請參閱[允許存取已連線 AWS 的資源 AWS 帳戶](ipa-connect-account.md)。

## 我需要相關聯的帳戶、角色和環境來建立專案
<a name="connections-troubleshoot-environment"></a>

**問題：**在專案建立選項中，我的專案在我的空間中沒有可用的新增帳戶，或者我需要在我的空間中新增另一個帳戶，才能使用我的專案。

**可能的修正：**對於您的空間，如果您有 **Space 管理員**角色，您可以新增授權 AWS 帳戶 以將其新增至您的專案。您還必須擁有具有管理許可的 AWS 帳戶 ，或者可以與您的 AWS 管理員搭配使用。

若要確保帳戶和角色可在專案建立畫面中使用，您必須先新增帳戶和角色。如需詳細資訊，請參閱[允許存取已連線 AWS 的資源 AWS 帳戶](ipa-connect-account.md)。

您可以選擇使用稱為角色政策的角色政策來建立服務**CodeCatalystWorkflowDevelopmentRole-*spaceName***角色。角色會有附加`CodeCatalystWorkflowDevelopmentRole-spaceName`唯一識別符的名稱。如需角色和角色政策的詳細資訊，請參閱 [了解 **CodeCatalystWorkflowDevelopmentRole-*spaceName*** 服務角色](ipa-iam-roles.md#ipa-iam-roles-service-role)。如需建立角色的步驟，請參閱 [為您的帳戶和空間建立 **CodeCatalystWorkflowDevelopmentRole-*spaceName***角色](ipa-iam-roles.md#ipa-iam-roles-service-create)。角色會新增至您的帳戶，並可在 CodeCatalyst 的專案建立頁面中使用。

## 我無法存取 中的 Amazon CodeCatalyst Spaces 頁面 AWS 管理主控台
<a name="connections-troubleshoot-console"></a>

**問題：**當我嘗試存取 中的 Amazon CodeCatalyst AWS 管理主控台 頁面，將帳戶新增至我的 CodeCatalyst 空間或將角色新增至其中的帳戶時 AWS，我會收到許可錯誤。

**可能的修正：**

對於您的空間，如果您有 **Space 管理員**角色，則可以新增授權 AWS 帳戶 以將其新增至您的專案。您還必須擁有 AWS 帳戶 具有管理許可的 ，或者可以與您的 AWS 管理員搭配使用。您必須先確定已 AWS 管理主控台 使用您要管理的相同帳戶登入 。登入 後 AWS 管理主控台，您可以開啟 主控台，然後再試一次。

在 中開啟 Amazon CodeCatalyst 頁面， AWS 管理主控台 網址為 [https：//https://us-west-2.console.aws.amazon.com/codecatalyst/home?region=us-west-2\$1/](https://us-west-2.console.aws.amazon.com/codecatalyst/home?region=us-west-2#/)。

## 我想要與我的帳單帳戶不同的帳戶
<a name="connections-troubleshoot-billing"></a>

**問題：**當我設定 CodeCatalyst 登入時，我完成了幾個步驟來設定我的空間並關聯已授權的 AWS 帳戶。現在，我想要授權不同的 帳戶來計費。

**可能的修正：**對於您的空間，如果您有 **Space 管理員**角色，您可以授權帳單帳戶。您還必須擁有 AWS 帳戶 具有管理許可的 ，或者可以與您的 AWS 管理員搭配使用。

如需詳細資訊，請參閱《Amazon CodeCatalyst 管理員指南》中的[管理帳單](https://docs.aws.amazon.com/codecatalyst/latest/adminguide/managing-billing.html)。

## 我的專案工作流程失敗並出現連線名稱錯誤
<a name="connections-troubleshoot-restriction"></a>

**問題：**建立專案然後執行專案工作流程時，工作流程會失敗，並顯示錯誤，指出連線名稱無效，如下所示：

在 <action\$1name> 失敗：連線名稱無效。

**可能的修正：**請確定您提供要新增至空間的帳戶 ID，並確認帳戶未針對專案限制的帳戶連線啟用。如果帳戶已啟用專案限制帳戶連線，則您可能需要啟用新專案的存取權來更新帳戶連線。如需詳細資訊，請參閱[設定專案限制帳戶連線](https://docs.aws.amazon.com/codecatalyst/latest/adminguide/managing-accounts.html#managing-accounts-restriction)。

# 對 Amazon CodeCatalyst 與 AWS SDKs 或 之間的問題進行故障診斷 AWS CLI
<a name="troubleshooting-cli-sdk"></a>

以下資訊可協助您針對使用 CodeCatalyst 和 AWS CLI 或 AWS SDKs時的常見問題進行疑難排解。

**Topics**
+ [當我**aws codecatalyst**在命令列或終端機輸入 時，我收到錯誤，指出這是無效的選擇](#cli-sdk-troubleshoot-no-commands)
+ [當我執行**aws codecatalyst**命令時收到登入資料錯誤](#cli-sdk-troubleshoot-profile)

## 當我**aws codecatalyst**在命令列或終端機輸入 時，我收到錯誤，指出這是無效的選擇
<a name="cli-sdk-troubleshoot-no-commands"></a>

**問題：**當我嘗試 AWS CLI 搭配 CodeCatalyst 使用 時，一或多個**aws codecatalyst**命令無法辨識為有效。

**解決方案：**此問題最常見的原因是您使用的 版本 AWS CLI 不包含最新 服務和命令的更新。更新 的安裝 AWS CLI ，然後再試一次。如需詳細資訊，請參閱 [設定 以 AWS CLI 搭配 CodeCatalyst 使用](set-up-cli.md)。

## 當我執行**aws codecatalyst**命令時收到登入資料錯誤
<a name="cli-sdk-troubleshoot-profile"></a>

**問題：**當我嘗試將 AWS CLI 與 CodeCatalyst 搭配使用時，會收到一則訊息，指出 `You can configure credentials by running "aws configure".`或 `Unable to locate authorization token`。

**解決方案：**您必須設定 AWS CLI 描述檔以使用 CodeCatalyst 命令。如需詳細資訊，請參閱 [設定 以 AWS CLI 搭配 CodeCatalyst 使用](set-up-cli.md)。