[참고] TravisCI에서 npm run build한 다음 S3에 배포하고 CloudFront에서 배포
4012 단어 TravisCINode.jsCloudFrontS3AWS
여러가지 조사했으므로 메모.
드디어 전부터 신경이 쓰인 TravisCI도 사용해 보았다
절차 노트
1. travis cli 설치
$ gem install travis
2. IAM에서 사용자를 만듭니다.
S3에 대한 전체 액세스 정책을 적용합니다.
3. S3에서 버킷을 만듭니다.
$ gem install travis
静的ウェブサイト > ウェブサイトホスティングを有効にする
에 체크하기インデックスドキュメント
에 index.html 을 지정 끝점이 {{버킷 이름}}.s3.amazonaws.com이어야 합니다.
4. .travis.yml 설정
.travis.yml
language: node_js
node_js:
- "6"
before_deploy:
- npm run build
deploy:
provider: s3
bucket: {{bucket名}}
region: ap-northeast-1
endpoint: {{bucket名}}.s3-ap-northeast-1.amazonaws.com
skip_cleanup: true
local-dir: dist
on:
branch: master
배포 전에
npm run build
를 실행하도록 지정npm install
, npm test
는 기본적으로 실행되었습니다.$ travis --add deploy.access_key_id {{access_key_id}}
$ travis --add deploy.secret_access_key {{secret_access_key}}
.travis.yml에 다음과 같이 액세스 키와 비밀 키가 추가됩니다.
access_key_id:
secure: xxxxxxxxx
secret_access_key:
secure: xxxxxxxxx
※이것을 공개해 버려도 좋은 것인지, 잘 모르겠다.
이것으로
git push origin master
하면, S3 쪽에 빌드한 파일을 업로드 할 수 있다(할 것)5. CloudFront에서 Distribution 만들기
Restrict Bucket Access
의 Yes
확인란 Origin Access Identity
는 Create a New Identity
를 지정한다 Comment
는 적당하게 지정 Grant Read Permissions on Bucket
에 Yes ~
를 지정한다 (S3의 액세스 정책을 갱신해 준다) Alternate Domain Names(CNAMEs)
에 게시 할 FQDN을 지정합니다. Default Root Object
에 index.html
설정 조금 시간이 걸리지만 배포가 만들어지고,
xxxxxx.cloudfront.net이라는 도메인이 생성됩니다.
6. Route 53 설정
Route53에서 설정할 도메인의 CNAME 레코드 값에 xxxxxx.cloudfront.net을 지정합니다.
감상
S3에서 정적 호스팅, TravisCI에서 배포가 생각보다 쉬웠다.
다만 access_key와 secret_key는 공개해도 좋을지 잘 모르더라도 야만한다. . .
github.com에서 조사한 결과 대부분의 사람들은 환경 변수에서 가져온 것 같습니다.
(그냥 일부는 공개했다)
Reference
이 문제에 관하여([참고] TravisCI에서 npm run build한 다음 S3에 배포하고 CloudFront에서 배포), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tamanugi/items/39a52dbb6704cb563657
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여([참고] TravisCI에서 npm run build한 다음 S3에 배포하고 CloudFront에서 배포), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tamanugi/items/39a52dbb6704cb563657텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)