워크플로우 실행 간 파일 캐싱 - 아마존 CodeCatalyst

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

워크플로우 실행 간 파일 캐싱

파일 캐싱이 활성화되면 빌드 및 테스트 작업에서 디스크에 있는 파일을 캐시에 저장하고 후속 워크플로 실행 시 해당 캐시에서 파일을 복원합니다. 캐싱은 실행 사이에 변경되지 않은 종속성을 빌드하거나 다운로드할 때 발생하는 지연 시간을 줄여줍니다. CodeCatalyst 또한 일부 필수 종속성이 포함된 부분 캐시를 복원하는 데 사용할 수 있는 대체 캐시를 지원합니다. 이렇게 하면 캐시 누락이 지연 시간에 미치는 영향을 줄이는 데 도움이 됩니다.

참고

파일 캐싱은 Amazon CodeCatalyst 빌드테스트 작업과 EC2 컴퓨팅 유형을 사용하도록 구성된 경우에만 사용할 수 있습니다.

파일 캐싱에 대한 정보

파일 캐싱을 사용하면 데이터를 여러 캐시로 구성할 수 있으며, 각 캐시는 속성 아래에서 참조됩니다. FileCaching 각 캐시는 지정된 경로로 지정된 디렉토리를 저장합니다. 지정된 디렉토리는 향후 워크플로우 실행 시 복원됩니다. 다음은 이름이 및 인 여러 캐시를 사용하는 캐싱의 YAML 스니펫 예제입니다. cacheKey1 cacheKey2

Actions: BuildMyNpmApp: Identifier: aws/build@v1 Inputs: Sources: - WorkflowSource Configuration: Steps: - Run: npm install - Run: npm run test Caching: FileCaching: cacheKey1: Path: file1.txt RestoreKeys: - restoreKey1 cacheKey2: Path: /root/repository RestoreKeys: - restoreKey2 - restoreKey3
참고

CodeCatalyst 로컬 캐시와 원격 캐시로 구성된 다중 계층 캐싱을 사용합니다. 프로비저닝된 플릿 또는 온디맨드 시스템에서 로컬 캐시에서 캐시 누락이 발생하는 경우 원격 캐시에서 종속성이 복원됩니다. 따라서 일부 작업 실행에서는 원격 캐시 다운로드로 인해 지연이 발생할 수 있습니다.

CodeCatalyst 캐시 액세스 제한을 적용하여 한 워크플로의 작업으로 다른 워크플로의 캐시를 수정할 수 없도록 합니다. 이렇게 하면 빌드나 배포에 영향을 주는 잘못된 데이터를 푸시할 수 있는 다른 워크플로로부터 각 워크플로를 보호할 수 있습니다. 모든 워크플로 및 브랜치 페어링에 캐시를 격리하는 캐시 범위에는 제한이 적용됩니다. 예를 들어 workflow-A in 브랜치의 파일 캐시는 형제 브랜치의 파일 feature-A 캐시와 다릅니다. workflow-A feature-B

워크플로에서 지정된 파일 캐시를 찾았지만 찾을 수 없는 경우 캐시 누락이 발생합니다. 이는 새 브랜치가 생성되거나 새 캐시가 참조되었는데 아직 생성되지 않은 경우 등 여러 가지 이유로 발생할 수 있습니다. 캐시가 만료되는 경우에도 발생할 수 있으며, 이 만료는 기본적으로 마지막으로 사용된 지 14일 후에 발생합니다. 캐시 누락을 줄이고 캐시 적중률을 높이기 위해 폴백 캐시를 CodeCatalyst 지원합니다. 대체 캐시는 대체 캐시이며 이전 버전의 캐시일 수 있는 부분 캐시를 복원할 수 있는 기회를 제공합니다. 먼저 속성 이름과 일치하는 항목을 검색하여 캐시를 복원하고, 찾을 수 없는 FileCaching 경우 평가합니다. RestoreKeys 속성 이름과 모든 항목에 캐시 누락이 있는 경우RestoreKeys, 캐싱이 최선의 방법이며 보장되지 않기 때문에 워크플로는 계속 실행됩니다.

캐시 생성

다음 지침에 따라 워크플로에 캐시를 추가할 수 있습니다.

Visual
비주얼 편집기를 사용하여 캐시를 추가하려면
  1. https://codecatalyst.aws/ 에서 CodeCatalyst 콘솔을 엽니다.

  2. 프로젝트를 선택합니다.

  3. 탐색 창에서 CI/CD를 선택한 다음 워크플로를 선택합니다.

  4. 워크플로의 이름을 선택합니다. 워크플로가 정의된 소스 리포지토리 또는 브랜치 이름을 기준으로 필터링하거나 워크플로 이름을 기준으로 필터링할 수 있습니다.

  5. 편집을 선택합니다.

  6. Visual을 선택합니다.

  7. 워크플로 다이어그램에서 캐시를 추가할 작업을 선택합니다.

  8. Configuration(구성)을 선택합니다.

  9. 파일 캐싱 - 선택 사항에서 캐시 추가를 선택하고 다음과 같이 필드에 정보를 입력합니다.

    Key(키)

    기본 캐시 속성 이름을 지정합니다. 캐시 속성 이름은 워크플로우 내에서 고유해야 합니다. 각 작업에는 최대 5개의 항목이 포함될 수 FileCaching 있습니다.

    경로

    캐시의 관련 경로를 지정합니다.

    복원 키 - 선택 사항

    기본 캐시 속성을 찾을 수 없을 때 폴백으로 사용할 복원 키를 지정합니다. 복원 키 이름은 워크플로우 내에서 고유해야 합니다. 각 캐시에는 최대 5개의 항목을 포함할 수 RestoreKeys 있습니다.

  10. (선택 사항) [Validate] 를 선택하여 커밋하기 전에 워크플로의 YAML 코드를 검증합니다.

  11. [Commit] 을 선택하고 커밋 메시지를 입력한 다음 [Commit] 다시 선택합니다.

YAML
YAML 편집기를 사용하여 캐시를 추가하려면
  1. https://codecatalyst.aws/ 에서 CodeCatalyst 콘솔을 엽니다.

  2. 프로젝트를 선택합니다.

  3. 탐색 창에서 CI/CD를 선택한 다음 워크플로를 선택합니다.

  4. 워크플로의 이름을 선택합니다. 워크플로가 정의된 소스 리포지토리 또는 브랜치 이름을 기준으로 필터링하거나 워크플로 이름을 기준으로 필터링할 수 있습니다.

  5. 편집을 선택합니다.

  6. YAML을 선택합니다.

  7. 워크플로 작업에 다음과 비슷한 코드를 추가합니다.

    action-name: Configuration: Steps: ... Caching: FileCaching: key-name: Path: file-path # # Specify any additional fallback caches # RestoreKeys: # - restore-key
  8. (선택 사항) [Validate] 를 선택하여 커밋하기 전에 워크플로의 YAML 코드를 검증합니다.

  9. [Commit] 을 선택하고 커밋 메시지를 입력한 다음 [Commit] 을 다시 선택합니다.

파일 캐싱 제약 조건

속성 이름 및 RestoreKeys 속성에 대한 제약 조건은 다음과 같습니다.

  • 이름은 워크플로우 내에서 고유해야 합니다.

  • 이름은 영숫자 (A-Z, a-z, 0-9), 하이픈 (-) 및 밑줄 (_) 로 제한됩니다.

  • 이름은 최대 180자까지 입력할 수 있습니다.

  • 각 액션에는 최대 5개의 캐시가 있을 수 있습니다. FileCaching

  • 각 캐시는 최대 5개의 항목을 포함할 수 있습니다. RestoreKeys

경로에 대한 제약 조건은 다음과 같습니다.

  • 별표 (*) 는 허용되지 않습니다.

  • 경로는 최대 255자까지 입력할 수 있습니다.