CircleCI로 이미지를 빌드하고 GCR로 푸시
5756 단어 CircleCIgcpgcrCircleCI2.0도커
TL;DR
.circleci/config.yaml
에서 이런 느낌을 한다 $ echo $GCP_SERVICE_KEY | gcloud auth activate-service-account --key-file -
$ gcloud auth configure-docker --quiet
$ # このへんでDockerイメージのビルドをする
$ docker push ${GCR_REPO}:${CIRCLE_SHA1}
구체적인
.circleci/config.yml
설정 예는 나중에 설명합니다.서비스 계정 만들기
GCP 콘솔에서 IAM의 서비스 계정을 열고 서비스 계정 만들기를 누릅니다.

서비스 계정 이름을 입력하고 만들기 버튼을 누릅니다. 「서비스 계정 ID」와 「서비스 계정의 설명」은 기호로 부디.

액세스 제어 구성 | Container Registry | Google Cloud 에 의하면 「스토리지 관리자」의 권한을 붙이면 좋다고 합니다.

그런 다음 '키 만들기' 버튼을 눌러 json 액세스 키를 다운로드합니다. 이 파일은 공개하지 않도록 합시다.


CircleCI 환경 변수 설정
CircleCI의 프로젝트 설정에서 Environment Variables를 열고 Add Variable 버튼을 누릅니다.

이번에는 환경 변수의 이름을
GCP_SERVICE_KEY
로 했습니다. Value
에 방금 다운로드 한 json 파일의 내용을 복사합니다.
CircleCI 설정 파일 작성
주의점
CircleCI는 여러 Docker 버전을 지원하며 기본값은 17.03.0-ce입니다.
Docker 명령을 실행하는 단계 - CircleCI
경고: Docker 인증 도우미는 버전 18.03 이상에서만 사용하십시오. 이전 버전의 Docker 클라이언트 버그로 인해 인증 도우미가 구성되면 docker build의 성능이 크게 저하됩니다.
인증 방법 | Container Registry | Google Cloud
CircleCI에서 기본 버전의 Docker를 사용하면
docker build
성능이 저하 될 수 있으므로 명시 적으로 새 Docker 버전을 지정합시다.설정 예
다음은 설정의
jobs
부분입니다.circleci/config.yml
jobs:
build:
docker:
- image: google/cloud-sdk:264.0.0
enviromnent:
GCR_REPO: ${gcr_repository_name}
steps:
- checkout
- setup_remote_docker:
docker_layer_caching: true
version: 18.06.0-ce
- run:
name: Authenticate gcloud to push the image
command: |
echo $GCP_SERVICE_KEY | gcloud auth activate-service-account --key-file -
gcloud auth configure-docker --quiet
- run:
name: Build the image
command: |
docker build -t ${GCR_REPO}:${CIRCLE_SHA1} .
- run:
name: Push the image
command: |
docker push ${GCR_REPO}:${CIRCLE_SHA1}
Reference
이 문제에 관하여(CircleCI로 이미지를 빌드하고 GCR로 푸시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/techno-tanoC/items/845bb906156e66a24b7f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)