GitHub에 Commit하여 CircleCI를 시작하고 S3 정적 사이트를 업데이트하는 프로젝트를 만들려고했습니다.
목적
CircleCI와 GitHub의 캐치업을 위해 지난번 만든 S3 정적 사이트를 업데이트하는 CD 환경을 만들어 보았습니다.
구성도
흐름
1.GitHub 준비
2. CircleCI와 GitHub와 S3의 협력
3. 검증
1.GitHub 준비
S3와 로컬로 저장했기 때문에 휴면하던 GitHub 계정을 부활시켜 로컬 Git과 연결했습니다.
htps : // 에 mpぉ y 면 t. 엔 - 그럼. 코m/엔기네 r후 b/엔트리/2017/01/31/110000
2. CircleCI와 GitHub와 S3의 협력
@kenta_ojapi 씨의 기사를 참고로 했습니다. 고마워요.
htps : // 코 m / 켄타 _ 오자 피 / ms / 221 d147944b87 네 479
검증에서의 인식
1. 숨겨진 파일도 함께 S3에 저장됩니다.
프로시저의 yaml 파일을 그대로 이용시켜 주시고 S3와 aws s3 sync 명령을 움직일 수 있었습니다만, 숨겨진 파일의 .git 파일과 .circleci 파일도 동시에 보존되었습니다.
그래서 조금 조사해, S3 sync의 옵션에 「--exclude」라고 하는 것이 있었습니다. .
config.ymlversion: 2
jobs:
build:
working_directory: ~/repo
environment:
- AWS_S3_BUCKET_NAME: my-bucket-name
- AWS_S3_BUCKET_EXCLUDE: .*/*
docker:
- image: innovatorjapan/awscli:latest
steps:
- checkout
- run:
name: Deploy to S3 if branch is Master.
command: |
if [ "${CIRCLE_BRANCH}" == "master" ]; then
aws s3 sync ~/repo s3://${AWS_S3_BUCKET_NAME}/ --exact-timestamps --delete --exclude "${AWS_S3_BUCKET_EXCLUDE}"
fi
2. 환경 매개 변수 값 앞에 반각 공간이 필요
이것은 CircleCi 에러에서 발견된 실수이지만, 'AWS_S3_BUCKET_NAME:my-bucket-name' 대신 'AWS_S3_BUCKET_NAME: my-bucket-name'과 같이 파라미터 값 앞에 반각 공백이 필요했습니다.
미래에 대해
Test 환경과 프로덕션 환경의 master/branch에 대한 Push의 거동에 맞추어 배포처를 변경하는 CircleCI의 설정(아직 뭔지 모른다)으로 바꾸어 가고 싶습니다. 타인이 만든 Jenkins의 build.xml 수십 파일을 읽어 풀어서 무렵을 기억해 각종 설정의 파라미터화에 노력하고 싶습니다. . .
Reference
이 문제에 관하여(GitHub에 Commit하여 CircleCI를 시작하고 S3 정적 사이트를 업데이트하는 프로젝트를 만들려고했습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/hanzo_arch/items/c5265a45c0129c8fbd02
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
흐름
1.GitHub 준비
2. CircleCI와 GitHub와 S3의 협력
3. 검증
1.GitHub 준비
S3와 로컬로 저장했기 때문에 휴면하던 GitHub 계정을 부활시켜 로컬 Git과 연결했습니다.
htps : // 에 mpぉ y 면 t. 엔 - 그럼. 코m/엔기네 r후 b/엔트리/2017/01/31/110000
2. CircleCI와 GitHub와 S3의 협력
@kenta_ojapi 씨의 기사를 참고로 했습니다. 고마워요.
htps : // 코 m / 켄타 _ 오자 피 / ms / 221 d147944b87 네 479
검증에서의 인식
1. 숨겨진 파일도 함께 S3에 저장됩니다.
프로시저의 yaml 파일을 그대로 이용시켜 주시고 S3와 aws s3 sync 명령을 움직일 수 있었습니다만, 숨겨진 파일의 .git 파일과 .circleci 파일도 동시에 보존되었습니다.
그래서 조금 조사해, S3 sync의 옵션에 「--exclude」라고 하는 것이 있었습니다. .
config.ymlversion: 2
jobs:
build:
working_directory: ~/repo
environment:
- AWS_S3_BUCKET_NAME: my-bucket-name
- AWS_S3_BUCKET_EXCLUDE: .*/*
docker:
- image: innovatorjapan/awscli:latest
steps:
- checkout
- run:
name: Deploy to S3 if branch is Master.
command: |
if [ "${CIRCLE_BRANCH}" == "master" ]; then
aws s3 sync ~/repo s3://${AWS_S3_BUCKET_NAME}/ --exact-timestamps --delete --exclude "${AWS_S3_BUCKET_EXCLUDE}"
fi
2. 환경 매개 변수 값 앞에 반각 공간이 필요
이것은 CircleCi 에러에서 발견된 실수이지만, 'AWS_S3_BUCKET_NAME:my-bucket-name' 대신 'AWS_S3_BUCKET_NAME: my-bucket-name'과 같이 파라미터 값 앞에 반각 공백이 필요했습니다.
미래에 대해
Test 환경과 프로덕션 환경의 master/branch에 대한 Push의 거동에 맞추어 배포처를 변경하는 CircleCI의 설정(아직 뭔지 모른다)으로 바꾸어 가고 싶습니다. 타인이 만든 Jenkins의 build.xml 수십 파일을 읽어 풀어서 무렵을 기억해 각종 설정의 파라미터화에 노력하고 싶습니다. . .
Reference
이 문제에 관하여(GitHub에 Commit하여 CircleCI를 시작하고 S3 정적 사이트를 업데이트하는 프로젝트를 만들려고했습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/hanzo_arch/items/c5265a45c0129c8fbd02
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
1. 숨겨진 파일도 함께 S3에 저장됩니다.
프로시저의 yaml 파일을 그대로 이용시켜 주시고 S3와 aws s3 sync 명령을 움직일 수 있었습니다만, 숨겨진 파일의 .git 파일과 .circleci 파일도 동시에 보존되었습니다.
그래서 조금 조사해, S3 sync의 옵션에 「--exclude」라고 하는 것이 있었습니다. .
config.yml
version: 2
jobs:
build:
working_directory: ~/repo
environment:
- AWS_S3_BUCKET_NAME: my-bucket-name
- AWS_S3_BUCKET_EXCLUDE: .*/*
docker:
- image: innovatorjapan/awscli:latest
steps:
- checkout
- run:
name: Deploy to S3 if branch is Master.
command: |
if [ "${CIRCLE_BRANCH}" == "master" ]; then
aws s3 sync ~/repo s3://${AWS_S3_BUCKET_NAME}/ --exact-timestamps --delete --exclude "${AWS_S3_BUCKET_EXCLUDE}"
fi
2. 환경 매개 변수 값 앞에 반각 공간이 필요
이것은 CircleCi 에러에서 발견된 실수이지만, 'AWS_S3_BUCKET_NAME:my-bucket-name' 대신 'AWS_S3_BUCKET_NAME: my-bucket-name'과 같이 파라미터 값 앞에 반각 공백이 필요했습니다.
미래에 대해
Test 환경과 프로덕션 환경의 master/branch에 대한 Push의 거동에 맞추어 배포처를 변경하는 CircleCI의 설정(아직 뭔지 모른다)으로 바꾸어 가고 싶습니다. 타인이 만든 Jenkins의 build.xml 수십 파일을 읽어 풀어서 무렵을 기억해 각종 설정의 파라미터화에 노력하고 싶습니다. . .
Reference
이 문제에 관하여(GitHub에 Commit하여 CircleCI를 시작하고 S3 정적 사이트를 업데이트하는 프로젝트를 만들려고했습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/hanzo_arch/items/c5265a45c0129c8fbd02
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(GitHub에 Commit하여 CircleCI를 시작하고 S3 정적 사이트를 업데이트하는 프로젝트를 만들려고했습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hanzo_arch/items/c5265a45c0129c8fbd02텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)