Lambdaカクテル

京都在住Webエンジニアの日記です

自分のサイトをgithub管理にしてS3に自動デプロイされるようにした

www.3qe.us

素朴なサイトだけど,ブログではない自分のサイトを持っている。内容はAWS S3に置いてあって,s3 syncとかで管理していたのだけれど,大変になってきたのでgithubに移動させて,AWS CodePipelineで変更を受け取って自動デプロイさせるようにした。

方法

dev.classmethod.jp

これ見ながらちまちまやった。CodeBuildは仕事で使ってるのでシュッと構成できた。

Codebuildのビルドでs3 syncしたら一時的にページが見られなくなったけど,バケットポリシーが外れていたのが原因だった。オフィシャルドキュメントに乗っているJSONを指定したら直った。

buildspec.yml

↑のサイトが書かれたときと比べると時間がけっこう経過しており,最新のフォーマットで書き直すと以下のようになった。

version: 0.2
 
phases:
  install:
    runtime-versions:
      ruby: 2.6
  build:
    commands:
      - aws s3 sync --exact-timestamps --delete html s3://www.3qe.us

余談

ちなみに昔はさくらVPSにnginxを置いていて,手でHTMLを打ってなんとかしていた。バージョン管理なんかねえよ。

まとめ

  • Githubを更新すると自動的にサイトが更新される仕組みを構成した
  • 更新が簡単になった!!

今度はHTTPS対応とか,CSSフレームワークを導入させたいと思う(でもなるだけサイズは小さくしたい)。キャンッシュコントロールも効かせてやりたい。自腹。