スキップしてコンテンツを表示

CDK Pipelinesの作成時、cdk.outが見つからない問題

0

CDK Workshopの中で、CodeCommitでリポジトリを作成し、パイプラインを作成しています。 https://catalog.us-east-1.prod.workshops.aws/workshops/10141411-0192-4021-afa8-2436f3c66bd8/ja-JP/2000-typescript-workshop/600-advanced-topics/700-pipelines/730-new-pipeline

ですが、CodeCommitは新規では、リポジトリはもう作成できないです。 なので、GitHubと連携して、パイプラインを構築しようとしています。 ディレクトリ構成は以下になります。 [Repository name]/cdk-workshop/...

cdk.outがルートディレクトリ上に存在しないためビルド中にエラーが発生します。 なので、pipeline-stack.tsに以下のコードを追加しました。

primaryOutputDirectory: 'cdk-workshop/cdk.out',

ですが、未だcdk.outが見つからないとエラーが発生します。 考えられる問題点と解決策を教えてください。

1回答
0
承認された回答

この問題には複数の要因が考えられます。以下に可能性のある問題点と解決策を示します:

  1. ビルドプロセスの問題:
  • シンセサイズステップ(cdk synth)が正しいディレクトリで実行されていない可能性があります。
  • 解決策:ShellStepのcommandsセクションで、正しいディレクトリに移動してからコマンドを実行するようにします。例:
commands: [
'cd cdk-workshop',
'npm ci',
'npm run build',
'npx cdk synth'
]
  1. primaryOutputDirectoryの設定:
  • 設定したprimaryOutputDirectoryのパスが正しくない可能性があります。
  • 解決策:パスが正確であることを確認し、必要に応じて調整します。例えば:
primaryOutputDirectory: 'cdk-workshop/cdk.out'
  1. GitHubソースの設定:
  • CodePipelineSourceのGitHub設定が正しくない可能性があります。
  • 解決策:GitHubリポジトリの正確な所有者とリポジトリ名を指定していることを確認します。例:
input: CodePipelineSource.gitHub('OWNER/REPO', 'main'),
  1. パイプラインの自己変異(self-mutation)の問題:
  • パイプラインの自己変異プロセスがcdk.outディレクトリを正しく認識できていない可能性があります。
  • 解決策:自己変異を一時的に無効にして、問題の切り分けを行います。
selfMutation: false,
  1. CDKのバージョンの問題:
  • 使用しているCDKのバージョンが古い、または互換性の問題がある可能性があります。
  • 解決策:CDKを最新バージョンにアップデートし、すべての依存関係が最新であることを確認します。

これらの解決策を順番に試してみて、問題が解決するかどうか確認してください。また、ビルドログを詳細に確認し、エラーメッセージから追加の情報を得ることも重要です。問題が解決しない場合は、CDKアプリケーションの構造やGitHubリポジトリの設定を再確認し、必要に応じてAWSサポートに相談することをお勧めします。
Sources
Community | Deploy Your Web Application with AWS Elastic Beanstalk and AWS CDK Pipelines
Community | Deploy Your Web Application with AWS Elastic Beanstalk and AWS CDK Pipelines
aws-cdk-lib.pipelines module · AWS CDK
class CodePipeline (construct) · AWS CDK

回答済み 1年前

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

関連するコンテンツ