What's New with AWSに、AWS CodePipeline Now Supports Deploying to Amazon S3とありました!ドキュメントはこちらです。やった、HTMLファイルをS3へのDeployができるようになったと思い、試してみました。後述しますが、2019年1月21日時点で問題ありです。
パイプラインの作成をします
CodeCommit にpushしてみます
CodeCommitの変更は自動で検出されます。pushされると、In progressになり、
問題がなければ、DeployがSucceededに変わります。
Deploy先のS3バケットを見てみると、Commitしたファイルがあります!CodeBuildも必要ないので、buildspec.ymlも書いてないし、とっても簡単!
おおお〜、これはよい!
ここからが問題
ファイルの追加がS3に反映されたことを確認してから、ファイルの削除やフォルダの変更はどうなるんだろうか?と思いテストをしてみました。
結果、問題ありです。
-
ファイルの削除
- CodeCommit上ではファイルは削除されても、S3上ではファイルは削除されず、そのまま。。。
-
フォルダ名の変更
- 新しいフォルダは作成されるが、古いフォルダもそのまま残ってる。まあ、ファイルの削除ができないんだから、そうなるのも当然か。。。
ファイルの削除やファイル名変更をしてくれないのでは、運用では難ありで使えません。
最初はロールの問題かと思ったけど、作成されているロールを見ると、Action:[s3:*]
はAllowになってるので問題無し。次にアーティファクトの中身を見たけど、ファイルがZIP化されているだけです。おそらく、ただ単純にS3へファイルのコピーをしているようですね。
簡単にS3へファイルをDeployできると思ったけど、ちょっと一捻りしないと使えないな、残念