LoginSignup
11
10

More than 5 years have passed since last update.

AWS CodePipelineのデプロイ先にS3を指定できるようになりました

Last updated at Posted at 2019-01-21

What's New with AWSに、AWS CodePipeline Now Supports Deploying to Amazon S3とありました!ドキュメントはこちらです。やった:raised_hands:、HTMLファイルをS3へのDeployができるようになったと思い、試してみました。後述しますが、2019年1月21日時点で問題ありです。

パイプラインの作成をします

  • CodePipelineから[パイプラインの作成]をクリックします。
    image.png

  • パイプラインの設定を入力します
    image.png

  • ソースプロバイダの設定をします
    ここではCodeCommitを指定しています。
    image.png

  • デプロイの設定をします
    デプロイ先にS3が選択できるようになってる!デプロイする前にファイルを展開するにはチェックを入れてください。
    image.png

  • 最後に設定の確認画面が表示されますので、[パイプラインの作成]をクリックします。このような画面になります。
    image.png

CodeCommit にpushしてみます

CodeCommitの変更は自動で検出されます。pushされると、In progressになり、
image.png
問題がなければ、DeployがSucceededに変わります。
image.png

Deploy先のS3バケットを見てみると、Commitしたファイルがあります!CodeBuildも必要ないので、buildspec.ymlも書いてないし、とっても簡単!
おおお〜、これはよい!

ここからが問題

ファイルの追加がS3に反映されたことを確認してから、ファイルの削除やフォルダの変更はどうなるんだろうか?と思いテストをしてみました。

結果、問題ありです。

  • ファイルの削除

    • CodeCommit上ではファイルは削除されても、S3上ではファイルは削除されず、そのまま。。。
  • フォルダ名の変更

    • 新しいフォルダは作成されるが、古いフォルダもそのまま残ってる。まあ、ファイルの削除ができないんだから、そうなるのも当然か。。。

ファイルの削除やファイル名変更をしてくれないのでは、運用では難ありで使えません。

最初はロールの問題かと思ったけど、作成されているロールを見ると、Action:[s3:*]はAllowになってるので問題無し。次にアーティファクトの中身を見たけど、ファイルがZIP化されているだけです。おそらく、ただ単純にS3へファイルのコピーをしているようですね。

簡単にS3へファイルをDeployできると思ったけど、ちょっと一捻りしないと使えないな、残念:tired_face:

11
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
10