웹사이트를 자동 배포할 수 있도록 github에서 관리
개요
n번 달의 기사입니다만, 자신용으로 정리합니다.
S3 버킷을 모든 웹에서 공개할 수 있습니다. 하지만 게시할 수 있는 내용은 정적 콘텐츠에 한합니다. 자체 도메인도 Route 53을 사용하여 사용할 수 있습니다 (이번에는 이름 .com에서 이름 서버를 변경). Linux 등에서 웹 서버를 세우는 경우와 같이 ssh 로그인이나 서버 운용을 할 필요는 없습니다 (← 매우 편하다!). 또한 CloudFront를 캐시 서버로 함께 사용하면 서버 부하를 줄이고 네트워크 대기 시간을 줄일 수 있습니다.
작업 흐름
Github의 master branch에 있는 코드가 (push나 merge에서) 변경될 때마다 S3의 버킷에 자동으로 deploy됩니다. 업로드된 콘텐츠는 ClowdFront에 의해 전세계의 다양한 서버에 저장됩니다. 자신의 도메인에 액세스하면 업데이트된 웹사이트를 탐색할 수 있습니다.
준비하는 것
웹 컨텐츠의 변경을 git로 관리할 수 있는, 복수인으로 운용할 수 있는, nginx등의 웹 서버의 불편등의 요인을 생각할 필요가 없는 등, 매우 편하고, 수동으로 관리하는 부분을 최대한 줄어들고 있으므로, 한번 구축해 버리면, 보수가 편하다.
0. IAM 설정
CircleCI가 S3에 액세스하기 위한 사용자를 생성합니다.
IAM에서
AmazonS3FullAccess
를 연결합니다.Access key ID
및 Secret access key
를 기록해 둡니다(CircleCI 설정에 필요함).S3 설정
s3
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "forPublicReadGetObject",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::[backet名]/*"
},
{
"Sid": "forCircleCi",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::[AWSのユーザーID]:user/[IAMで設定したユーザー名]"
},
"Action": [
"s3:PutObject",
"s3:ListBucket",
"s3:DeleteObject"
],
"Resource": [
"arn:aws:s3:::[バケット名]",
"arn:aws:s3:::[バケット名]/*"
]
}
]
}
CircleCI 설정
Github와의 협력
h tps : // / rc ぇ시. 코m/
조직 계정의 리포지토리가 대상인 경우 다음 기사을 참조하십시오.
config.yml
파일 생성 .circleci/config.yml
version: 2.1
orbs:
aws-s3: circleci/[email protected]
jobs:
build:
docker:
- image: 'circleci/python:2.7'
steps:
- checkout
- aws-s3/sync:
from: .
to: 's3://${AWS_S3_BUCKET_NAME}'
aws-access-key-id: AWS_ACCESS_KEY_ID
aws-secret-access-key: AWS_SECRET_ACCESS_KEY
aws-region: AWS_REGION
arguments: |
--acl public-read \
--cache-control "max-age=86400"
overwrite: true
Environment Variables(환경 변수) 정의
의 설정을 한다.
여기까지, 일단 S3에 업로드하는 곳까지는 잘 작동합니다.
이름 .com에서 route 53으로 네임 서버 변경
고유 도메인에 인증서 발급
Certificate Manager에서 Route 53에 등록한 고유 도메인에 대한 인증서 발급
CloudFront 설정
Reference
이 문제에 관하여(웹사이트를 자동 배포할 수 있도록 github에서 관리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/____easy/items/4dc01ea24a9141b730c7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)