s3 deploy website
1.0.0
정적 웹 사이트를 S3에 업로드하기위한 배포 도구입니다. CloudFront가 웹 사이트를 호스팅하는 데 사용되는 경우 CloudFront 배포에서 업로드 된 파일을 자동으로 무효화 할 수 있습니다. 접두사 트리는 한 달에 제한된 수의 자유 무효화 만 사용할 수 있으므로 무효화 수를 최소화하는 데 사용됩니다.
구성은 다음과 같은 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 자격 증명은 환경 AWS_ACCESS_KEY_ID
를 통해 제공 AWS_SECRET_ACCESS_KEY
수 있습니다.
$ 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
과 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.