s3 deploy website
1.0.0
これは、静的WebサイトをS3にアップロードするための展開ツールです。 CloudFrontがWebサイトのホストに使用される場合、アップロードされたファイルはCloudFront Distributionで自動的に無効にすることができます。プレフィックスツリーは、限られた数の自由な無効化のみが月に利用できるため、無効化の数を最小限に抑えるために使用されます。
構成は次のようなYAMLファイルに保存されます:
site : _site
s3_bucket : example.com
cloudfront_distribution_id : XXXXXXXXXXX
cache_rules :
- match : " /assets/* "
maxage : 30 days
- match_regexp : ' ^assets/image-d{3}-.*.png$ '
maxage : 90 days
- match : " /css/* "
maxage : 30 days
- match : " * "
maxage : 1 hour
このsite
構成ファイルの場所に関連する静的Webサイトのディレクトリです。たとえば、Jekyllは、上記で指定されているように_site
ディレクトリに静的サイトを生成します。構成ファイルを.s3_website.yaml
として保存する場合、同じディレクトリからs3-deploy-website
実行できます。
$ cd jekyll-site/
$ ls .s3_website.yaml
.s3_website.yaml
$ s3-deploy-website
AWS資格情報は、環境変数AWS_ACCESS_KEY_ID
およびAWS_SECRET_ACCESS_KEY
を介して提供できます。
$ export AWS_ACCESS_KEY_ID=XXXXXX
$ export AWS_SECRET_ACCESS_KEY=XXXXXX
$ s3-deploy-website
また、ボトが読むさまざまな構成ファイルを介して提供することもできます。
_site
など)に比べて。s3:GetObject
、 s3:PutObject
、 s3:DeleteObject
and s3:ListBucket
on the bucket and the Keys eg arn:aws:s3:::example.com
およびarn:aws:s3:::example.com/*
。cloudfront:CreateInvalidation
許可する必要があります。match
キーは、ルールが適用されるパターンを指定します。これは、グローブスタイルのマッチング( *
and ?
)を使用します。 match_regexp
を使用して、一致することも正規表現で実行できます。特定のキーに一致する最初のルールのみが使用されます。 maxage
キーは、ファイルをキャッシュする時間を指定します。値は、 30 days
、 5 minutes, 30 seconds
などのような数秒または文字列でなければなりません。.s3_website.yaml
の構成はS3_Websiteに触発されましたが、S3_Websiteでサポートされているオプションはわずかに異なります。
mit。