1

CodeBuildを使用してSpringBootアプリケーションをコンパイルし、結果のjarファイルをdeploy/というフォルダに配置します。最後に私のbuildspec.ymlで私が提供:私はCodePipelineにして、これを接続するとCodeBuildのアーティファクトをCodeDeployでデプロイできません

artifacts: 
    files: 
    - deploy/* 

が、これはS3でzipファイルを作成します。しかし、問題は、このzipファイルにルートフォルダが含まれていることです。すなわち、deployです。だから、zipファイルの構造は次のとおりです。

deploy.zip 
    - deploy/ 
    - appspec.yml 
    - app.jar 
    - ... 

これは、それがデプロイフォルダ内を調べていないbecuase CodeDeployは、appspec.ymlを見つけることができないという問題がありました。私はこれを克服しようとしていましたが、ビルドプロセスの最後にアーティファクトとしてZipファイルを提供していましたが、パイプラインで再び圧縮されました..

これを解決するにはどうすればよいでしょうか。

答えて

1

あなたがアーティファクトに追加することができ、新たなフラグがありますbase-directoryというセクションで、成果物パッケージの基本パスを指定します。これにより、構造の残りの部分を失うことなく、アーチファクトからdeploy/パスを切り捨てることができます。

artifacts: 
    files: 
    - **/* 
    base-directory: deploy 

http://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html

関連する問題