s3 deploy website
1.0.0
这是用于将静态网站上传到S3的部署工具。如果使用CloudFront用于托管网站,则可以在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是静态网站的目录,相对于配置文件的位置。例如,Jekyll将在_site目录中生成静态站点,如上所述。如果将配置文件保存为.s3_website.yaml则可以简单地从同一目录运行s3-deploy-website :
$ cd jekyll-site/
$ ls .s3_website.yaml
.s3_website.yaml
$ s3-deploy-website可以通过环境变量AWS_ACCESS_KEY_ID和AWS_SECRET_ACCESS_KEY提供AWS凭据。
$ export AWS_ACCESS_KEY_ID=XXXXXX
$ export AWS_SECRET_ACCESS_KEY=XXXXXX
$ s3-deploy-website也可以通过BOTO读取的各种配置文件提供它们。
_site )。s3:GetObject , s3:PutObject , s3:DeleteObject和s3:ListBucket和键,例如arn:aws:s3:::example.com and and arn:aws:s3:::example.com/* 。cloudfront:CreateInvalidation 。match键指定规则适用的模式。这使用球形匹配(与*和? )。也可以使用match_regexp使用正则表达式执行匹配。仅使用匹配给定键的第一个规则。 maxage密钥指定了缓存文件的时间。该值应为秒或弦,例如30 days , 5 minutes, 30 seconds ,等等。.s3_website.yaml中的配置受S3_website的启发,尽管S3_website支持的选项略有不同。
麻省理工学院。