CodeBuildでappspec.ymlをrootディレクトリに移動するbuildspec.yml


やりたいこと

  • CodeDeployで利用するappspec.ymlをCodeBuildを使って、ソースコードのrootディレクトリに配置する

なぜやるか

  • CodeDeployで利用するappspec.ymlはソースコードのrootディレクトリに配置しないとエラーになる
  • 環境毎に分ける可能性のあるappspec.ymlを、ソースコードのrootディレクトリに配置したくない!(ファイル名も変更できない)

フォルダ構成

 repository_root
  - deploy
    - dev
        - appspec.yml
  - src
  - test
  - other...

buildspec.yml

version: 0.2
phases:
  build:
    commands:
      - cp deploy/dev/appspec.yml ./
artifacts:
  files:
    - '**/*'

注意点

  • CodeBuildの 出力アーティファクト に名前をつけて、 CodeDeployで 入力アーティファクト を選択すること

やってみてダメだったこと

artifactsに直接書く

version: 0.2
artifacts:
  files:
    - ./deploy/dev/appspec.yml  # NG
    - deploy/dev/appspec.yml  # NG
    - "deploy/dev/appspec.yml"  # NG
    - '**/*'

できそうでできなかった。。。