CircleCI 캐시 키에 Contexts로 정의한 환경 변수 지정

5859 단어 CircleCI시
CircleCI를 빌드할 때 라이브러리 종속성을 캐시할 때 지정하는 키로 키 앞에 v1과 같은 고정 접두사를 부여하여 캐시를 관리하는 방법이 있지만 다음과 같이 Contexts에 정의되어 있습니다. 한 환경 변수를 지정하여 캐시 키를 하드 코드하지 않고 캐시 키를 관리하는 방법도 있습니다.
# プレフィクスをキーに含めるパターン
- restore_cache:
    keys:
      - v1-bundler-cache-{{ .Branch }}-{{ checksum "Gemfile.lock" }}
      - v1-bundler-cache-{{ .Branch }}
      - v1-bundler-cache-

# Context をキーに含めるパターン
- restore_cache:
    keys:
      - bundler-cache-{{ .Environment.CACHE_KEY }}-{{ .Branch }}-{{ checksum "Gemfile.lock" }}
      - bundler-cache-{{ .Environment.CACHE_KEY }}-{{ .Branch }}
      - bundler-cache-

Context를 캐시 키에 포함하는 이점



예를 들어, 고정 접두사를 캐시 키에 포함하는 패턴으로 캐시를 관리하는 경우 캐시를 지울 때 "캐시 키의 고정 접두사를 변경하고 (v1을 v2으로 변경하여) 커밋"과 같은 노력 발생하지만 Context를 캐시 키에 포함시키는 패턴의 경우 CircleCI 설정 화면에서 캐시를 지울 수 있다는 장점이 있습니다.

Context 설정 방법



1. Contexts 설정 화면에서 새 Context 정의



예를 들어 ORGANIZATION_CONTEXT이라는 Context를 정의합니다.



2. 정의한 Context에서 캐시 키에 대한 환경 변수 정의



예를 들어, Name에 CACHE_KEY, Value에 hoghoge이라는 환경 변수를 정의합니다.



3. CircleCI 구성 파일 ( .circleci/config.yml )의 캐시 키로 (2)에 정의 된 환경 변수를 지정합니다.


.circleci/config.yml 설명 예제
test:
  executor:
    name: default
  steps:
    - checkout
    - restore_cache:
        keys:
          - bundler-cache-{{ .Environment.CACHE_KEY }}-{{ .Branch }}-{{ checksum "Gemfile.lock" }}
          - bundler-cache-{{ .Environment.CACHE_KEY }}-{{ .Branch }}
          - bundler-cache-
    - run:
        name: bundle install
        command: bundle install --path vendor/bundle
    - save_cache:
        key: bundler-cache-{{ .Environment.CACHE_KEY }}-{{ .Branch }}-{{ checksum "Gemfile.lock" }}
        paths:
          - ./vendor/bundle

workflows:
  test-workflow:
    jobs:
      - test:
          context: ORGANIZATION_CONTEXT  # (1) で定義した Context を test ジョブの中で展開する

4. CircleCI로 빌드하면 캐시 키에 CACHE_KEY 환경 변수가 확장됩니다.


hogehoge이라는 환경 변수가 확장되었습니다.


캐시를 지우는 방법



1. 캐시 키에 대한 환경 변수 삭제





2. 캐시 키에 대한 환경 변수 정의



이전 캐시 키와는 다른 Name에 CACHE_KEY, Value에 fugafuga이라는 환경 변수를 정의합니다.


3. CircleCI로 빌드하면 캐시 키에서 새 CACHE_KEY 환경 변수가 확장됩니다.


fugafuga이라는 환경 변수가 확장되었습니다.

좋은 웹페이지 즐겨찾기