0

WARファイルをElastic Beanstalkに展開すると、アプリケーションURLを呼び出すと404が見つかりません。私は手動でデプロイするとそこにあるMETA-INFとWEB-INFではなく、/ var/lib/tomcat8/webapps/ROOT /内のapplication.warファイルを見ることができます。AWS CodePipelineは成功しましたが、Elastic Beanstalkに正しく​​デプロイされていません

私はS3からWARファイルをプルし、手動でElastic Beanstalkにデプロイすると、チャームのように機能します。注:これは私のパイプラインでCodeBuildによって生成されたものと同じWARファイルです。さらに、ファイルを自分のローカルコンピュータにコピー(scp)してElastic Beanstalkにアップロードすると、それもうまく動作します。

デプロイメントまではすべて動作しているようですが、動作中のWARファイルはElastic Beanstalkにもデプロイされています。

eb-activity.log私はそれがWARファイルを認識し、それを一時ディレクトリから/var/lib/tomcat8/webapps/ROOTにデプロイすることがわかりますが、アンパックされておらず、コンテナ/ウェブサーバは再起動されません。

CodePipelineでWARファイルを正しく展開するにはどうすればよいですか?

+0

私は同じ問題を抱えており、なぜAWSフォーラムで戦争が「解凍」されずにROOTフォルダに入れられるのか尋ねました:https://forums.aws.amazon.com/thread.jspa?threadID=248895 – Azeq

答えて

1

あなたが直面している問題を再現しようとしました。私は "戦争"ファイルを作成するとき、 "戦争"出力ファイルのルートとして "META-INF"と "WEB-INF"フォルダを含むフォルダを置いていると思います。

代わりに、すべてのファイル(上記のフォルダ内)をルートレベルのフォルダなしで「war」ファイルに配置する必要があります。

+0

私は思ったWARファイルに何か問題がありました。しかし、S3(CodeBuildで生成)からWARファイルをダウンロードし、それを手動でElastic Beanstalkにデプロイするだけで動作します。 – Nando

関連する問題