BitbucketでAWS CodeDeployアドオンを設定中に「unable to remove top level folder」というエラーに遭遇し、解決したので方法を載せておきます。
原因
BitbucketにPushしたファイル名の中に、AWSにデプロイできないキャラクターが含まれていたこと。
私の場合、imageファイルの中に@マークを使ったファイル名があったことが原因でした。
解決策
ファイル数が多くないのなら一つずつファイル名を確認すればいいですが、私の場合は数千のファイルがあったのでとてもじゃないけど手作業で確認はできませんでした。
そこでCLIで下記のコマンドを、検索したいアプリのルートディレクトリで実行しました。
find . -type f | awk -F / '{print $NF}' | awk '!/^[a-zA-Z0-9._-]+$/‘
こうすることで、上記の正規表現に含まれないキャラクターを含むファイル名を一気に検索してくれます。
あとは見つかったファイル名を正規表現のみのものに変更するだけです。
参考
このコマンドは下記のサイト様を参考にさせていただきました。
大変感謝いたします。