🦞

【CodeDeploy】別々のリポジトリから同一インスタンスにデプロイしたらディレクトリが消えた

2024/02/24に公開

AWSでCI/CDの構築を行っていた際、少しハマったのでメモ

前提

  • 別々で管理してる2つのgitリポジトリがある
  • パイプラインもそれぞれで構築
  • CodeDeployを使用して同一のEC2インスタンスにデプロイ
  • CodeDeployアプリケーション、デプロイグループも同一のものを使用

起こったこと

本当はこうしたかった。

var
└── www
    └── html             # ルートディレクトリ
        └── directory1   # ← directory1をデプロイすると最新になる
        └── directory2   # ← directory2をデプロイすると最新になる

でもそうはならなかった。

var
└── www
    └── html             # ルートディレクトリ
        └── directory1   # ← directory1をデプロイすると最新になる
-       └── directory2   # ← directory1のデプロイ時にdirectory2が消える

逆もまた然り。directory2をデプロイするとdirectory1が消えた。

原因

CodeDeployの仕様に原因があった。
2つの別々のデプロイに対して同一のアプリケーションとするまでは問題なかったが、デプロイグループが同一だと上記のようなことが起こるそう。
デプロイグループを分けて再度デプロイを行うとうまくいった。

参考

https://stackoverflow.com/questions/47516684/codedeploy-erases-content-from-directory-not-affected-by-deploy

Discussion