

Amazon CodeCatalyst は新規のお客様には提供されなくなりました。既存のお客様は、通常どおりサービスを引き続き使用できます。詳細については、「[CodeCatalyst から移行する方法](migration.md)」を参照してください。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# プロジェクトとブループリントのトラブルシューティング
<a name="projects-troubleshooting"></a>

このセクションでは、Amazon CodeCatalyst のプロジェクトとブループリントの操作時に発生する可能性のある一般的な問題のトラブルシューティングについて説明します。

# AWS Fargate 設計図に apache-maven-3.8.6 の依存関係がない Java API
<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. 検索バーに `apache-maven-3.8.6` と入力し、 AWS Fargate ブループリントを使用して Java API で作成されたプロジェクト内の 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"]
```

# 3 層のモダンウェブアプリケーションのブループリントワークフローの **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.
```

``

**解決策:** このアクションの失敗の考えられる原因の 1 つは、IAM ロールポリシーのアクセス許可がないことが原因である可能性があります。接続されている で CodeCatalyst が使用するサービスロールのバージョン AWS アカウント に、**codeguru\$1codereview** アクションが正常に実行されるために必要なアクセス許可がありません。この問題を修正するには、サービスロールを必要なアクセス許可で更新するか、ワークフローに使用されるサービスロールを Amazon CodeGuru および Amazon CodeGuru Reviewer に必要なアクセス許可を持つサービスロールに変更する必要があります。次のステップを使用して、ロールを検索し、ロールポリシーのアクセス許可を更新して、ワークフローが正常に実行されるようにします。

**注記**  
これらのステップは、CodeCatalyst の以下のワークフローに適用されます。  
CodeCatalyst の 3 層モダンウェブアプリケーションのブループリントで作成されたプロジェクトの **OnPullRequest** ワークフロー。
Amazon CodeGuru または Amazon CodeGuru Reviewer にアクセスするアクションを使用して CodeCatalyst のプロジェクトに追加されたワークフロー。

各プロジェクトには、CodeCatalyst のプロジェクト AWS アカウント に接続された によって提供されるロールと環境を使用するアクションを含むワークフローが含まれています。アクションとその指定されたポリシーを含むワークフローは、/.codecatalyst/workflows ディレクトリのソースリポジトリに保存されます。既存のワークフローに新しいロール ID を追加しない限り、ワークフロー YAML の変更は必要ありません。YAML テンプレートの要素とフォーマットの詳細については、「[ワークフロー YAML 定義](workflow-reference.md)」を参照してください。

これらは、ロールポリシーを編集し、ワークフロー YAML を検証するためのステップの概要です。

**ワークフロー YAML でロール名を参照し、ポリシーを更新するには**

1. [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/ja_jp/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://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 のユーザーであることを記入してください。問題に最大限効率的に対処できるように、できるだけ詳しく説明してください。