지속적 통합 모음 만들기

지속적 통합 (CI) 도구 모음은 LookML 프로젝트와 연결된 검증 안내 집합입니다. manage_ci 권한이 있는 Looker 사용자는 CI 도구 모음에서 다음을 구성할 수 있습니다.

시작하기 전에

CI 도구 모음을 만들려면 다음이 필요합니다.

  • CI 요구사항을 충족하고 CI에 사용 설정된 Looker 인스턴스
  • manage_ci 권한이 있는 Looker 사용자 계정 (이 권한은 관리자 권한 세트에 포함되어 있음)
  • 프로덕션에 배포된 커밋이 하나 이상 있는 LookML 프로젝트 CI 백그라운드 서비스는 프로젝트가 프로덕션 모드인 경우에만 프로젝트의 Git 구성을 검색할 수 있습니다. 프로젝트가 개발 모드에만 있는 경우 CI는 웹훅 트리거를 구성할 때 오류를 반환합니다.

CI 모음 만들기

Looker IDE의 모음 페이지에서 검사기를 구성하고 실행할 수 있습니다.

CI 제품군 페이지

CI 제품군을 만들려면 다음 단계를 따르세요.

  1. Looker IDE의 IDE 탐색 메뉴에서 지속적 통합 아이콘을 클릭합니다.
  2. Suites 탭을 클릭하여 Suites 페이지를 엽니다.
  3. 모음 페이지에서 새 모음을 만들거나 기존 모음을 수정할 수 있습니다.
    • 새 제품군을 만들려면 제품군 만들기 버튼을 클릭합니다.
    • 기존 테스트 모음을 수정하려면 테스트 모음의 테스트 모음 수정 버튼을 클릭합니다.
  4. 모음 이름을 입력합니다. 기존 모음을 수정하는 경우 연필 아이콘을 클릭하여 모음 이름을 수정할 수 있습니다(선택사항).
  5. (선택사항) 반복 일정에 따라 자동 검증 테스트를 설정하려면 일정에 따라 트리거 전환 버튼을 사용 설정합니다. 자세한 내용은 이 페이지의 일정에 따라 트리거 섹션을 참조하세요.
  6. (선택사항) Looker 개발자가 저장소에 pull 요청을 제출할 때마다 자동 검증 테스트를 설정하려면 Looker의 pull 요청 시 트리거 전환 버튼을 사용 설정합니다. 자세한 내용은 이 페이지의 Looker의 pull 요청 트리거 섹션을 참조하세요.

    CI 제품군에 대해 pull 요청 트리거를 사용 설정하는 경우 선택적으로 대상 브랜치만 필드를 사용하여 저장소의 특정 브랜치에 대한 pull 요청만 CI 제품군 실행을 트리거하도록 지정할 수 있습니다. 자세한 내용은 이 페이지의 Looker의 pull 요청 트리거 섹션을 참조하세요.

  7. (선택사항) dbt Cloud CI 작업이 실행될 때마다 자동 검증 테스트를 설정하려면 dbt Cloud의 pull 요청 시 트리거 전환 버튼을 사용 설정합니다. 자세한 내용은 이 페이지의 dbt Cloud의 pull 요청 시 트리거 섹션을 참조하세요.

  8. (선택사항) 가져온 업스트림 (허브) 프로젝트에 pull 요청이 제출될 때마다 자동 검증 테스트를 설정하려면 다음 단계를 수행합니다.

    1. 가져온 프로젝트의 pull 요청 시 트리거 전환 버튼을 사용 설정합니다.
    2. 구독할 업스트림 프로젝트 선택에서 이 CI 도구 모음의 실행을 트리거해야 하는 가져온 각 허브 프로젝트의 체크박스를 선택합니다. 업스트림 프로젝트를 1개 이상 선택해야 합니다.

    자세한 내용은 이 페이지의 가져온 프로젝트의 pull 요청 시 트리거 섹션을 참조하세요.

  9. (선택사항) CI 실행 상태에 따라 이메일 알림을 받으려면 이메일 알림 사용 설정 전환 버튼을 사용 설정합니다. 자세한 내용은 이 페이지의 알림 설정 섹션을 참조하세요.

  10. 필요한 경우 검사기 전환 버튼을 사용 설정하여 검사기를 사용 설정하고 옵션을 구성합니다. 각 검사기에 대한 자세한 내용은 다음 문서 페이지를 참조하세요.

  11. 다음 방법 중 하나를 사용하여 변경사항을 저장합니다.

    • 새 도구 모음을 만드는 경우 도구 모음 만들기 버튼을 클릭합니다.
    • 기존 테스트 모음을 수정하는 경우 테스트 모음 업데이트 버튼을 클릭합니다.

트리거

CI 실행은 다음과 같은 여러 가지 방법으로 트리거할 수 있습니다.

일정에 따라 트리거

일정에 따라 트리거 전환 버튼을 사용 설정하여 일정에 따라 자동으로 트리거되도록 CI 제품군을 구성할 수 있습니다.

이 전환 버튼을 사용 설정하면 CI 도구 모음을 자동으로 실행하는 빈도와 세부정보를 선택할 수 있습니다.

  • 매월, 특정 날짜 및 시간
  • 매주, 특정 요일 및 시간
  • 매일, 특정 시간
  • 시간 단위 또는 2, 3, 4, 6, 8, 12시간마다, 하루 중 특정 시간에 시작 및 종료
  • 분 단위: 하루 중 특정 시간에 시작하고 종료하며 5, 10, 15, 20 또는 30분마다 실행
  • 연중 특정 월의 특정 요일 및 시간
  • 특정 요일의 특정 시간

Looker의 pull 요청 시 트리거

pull 요청 시 자동 트리거를 위해 CI 모음을 구성하려면 Looker의 pull 요청 시 트리거 전환 버튼을 사용 설정합니다. pull 요청 트리거를 사용하려면 Looker 관리자가 Looker의 지속적 통합 관리자 페이지에서 Git 저장소를 구성해야 합니다.

CI 모음에 pull 요청 트리거를 사용 설정하는 경우 저장소의 특정 브랜치에 대한 pull 요청만 CI 모음 실행을 트리거하도록 지정할 수 있습니다. CI 실행의 자동 pull 요청 트리거를 저장소의 특정 브랜치로 제한하려면 대상 브랜치만 필드에 쉼표로 구분된 브랜치 목록을 입력합니다.

예를 들어 저장소에 main, release_1, dev라는 브랜치가 3개 있는 경우 대상 브랜치만 필드에 main, release_1을 입력할 수 있습니다. 즉, Looker 개발자가 main 또는 release_1 브랜치에 pull 요청을 제출하면 CI 실행이 트리거됩니다. Looker 개발자가 dev 브랜치에 pull 요청을 제출하면 CI 도구 모음이 자동으로 실행되지 않습니다.

dbt Cloud의 pull 요청 시 트리거

인스턴스에서 dbt Cloud 통합을 구성한 경우 dbt Cloud CI 작업이 완료되면 자동으로 트리거되도록 CI 도구 모음을 구성할 수 있습니다. CI 제품군은 dbt 변경사항이 배포되기 전에 dbt 모델의 변경사항이 Looker Explore에서 SQL 오류를 일으키는지 확인합니다.

이 트리거를 구성하려면 CI 모음을 만들거나 수정할 때 dbt Cloud의 pull 요청 시 트리거 전환 버튼을 사용 설정합니다.

이 트리거를 사용 설정한 경우 다음 옵션을 구성합니다.

  • dbt Cloud 작업: 드롭다운 필드에서 이 모음을 트리거할 dbt Cloud CI 작업을 선택합니다.

  • 스키마 사용자 속성: 데이터베이스 연결의 스키마 이름을 보유하는 Looker 사용자 속성을 선택합니다. 관리 패널에서 CI에 사용 설정된 사용자 속성만 이 목록에 표시됩니다.

이 트리거를 사용 설정한 상태에서 도구 모음을 저장하면 Looker가 dbt Cloud 계정에 웹훅을 자동으로 등록하여 작업 완료를 수신 대기합니다.

dbt Cloud 트리거 실행의 경우 Looker는 dbt Cloud 실행으로 생성된 임시 스키마를 동적으로 식별하고 CI 실행 기간 동안 선택한 사용자 속성을 이 임시 스키마 이름으로 재정의합니다.

가져온 프로젝트의 pull 요청 시 트리거

Looker 프로젝트에서 로컬 프로젝트 가져오기를 사용하여 동일한 Looker 인스턴스에서 다른 프로젝트를 가져오는 경우 가져온 업스트림 프로젝트(허브 프로젝트라고 함)에서 pull 요청이 열리거나 업데이트될 때마다 다운스트림 프로젝트(스포크 프로젝트라고 함)를 테스트하도록 CI 도구 모음을 구성할 수 있습니다.

예를 들어 marketing 및 finance 스포크 프로젝트로 가져온 company_bi 허브 프로젝트가 있다고 가정해 보겠습니다. company_bi 저장소에 pull 요청이 제출될 때마다 해당 스포크 프로젝트의 유효성을 검사하도록 marketing 및 finance 프로젝트에서 트리거를 구성할 수 있습니다.

이 트리거를 구성하기 전에 다음 기본 요건과 동작을 고려하세요.

  • 로컬 프로젝트 가져오기만 해당: 구독한 모든 허브 프로젝트는 동일한 Looker 인스턴스의 manifest.lkml에서 local_dependency 매개변수를 사용하여 스포크 프로젝트로 로컬에서 가져와야 합니다. 원격 프로젝트 (프로젝트의 매니페스트 파일에서 remote_dependency 매개변수를 사용하는 가져오기)는 지원되지 않습니다.
  • Git 및 프로덕션 모드: 스포크 프로젝트와 가져온 허브 프로젝트를 모두 프로덕션 모드에 배포하고 Git 저장소에 CI GitHub 앱을 구성해야 합니다.
  • 권한: Looker CI 사용자 역할에는 스포크 프로젝트와 가져온 허브 프로젝트 모두의 모델에 대한 develop 권한이 있어야 합니다.
  • 검사기 동작: 스포크 프로젝트는 프로덕션 버전을 기준으로 검사되며 비교할 개발 브랜치 Git 상태가 없으므로, 가져온 프로젝트 pull 요청에 의해 트리거되는 실행의 경우 모음 설정과 관계없이 증분 검사가 자동으로 사용 중지됩니다. 또한 가져온 프로젝트 pull 요청에 의해서만 트리거되는 도구 모음에서는 CI LookML 검사기 및 CI 스타일 검사기를 사용 중지하는 것이 좋습니다. 이러한 검사기는 스포크 프로젝트의 파일만 확인하고 업스트림 변경사항의 영향을 받지 않기 때문입니다.

하나 이상의 가져온 허브 프로젝트에 pull 요청이 제출될 때 CI 검증을 실행하도록 스포크 프로젝트를 구성하려면 스포크 프로젝트에서 CI 모음을 만들거나 수정할 때 다음 단계를 따르세요.

  1. 가져온 프로젝트의 pull 요청 시 트리거 전환 버튼을 사용 설정합니다.
  2. 구독할 업스트림 프로젝트 선택에서 이 CI 도구 모음의 실행을 트리거해야 하는 가져온 각 허브 프로젝트의 체크박스를 선택합니다. 업스트림 프로젝트를 1개 이상 선택해야 합니다.

허브 프로젝트의 변경사항이 여러 스포크 프로젝트에서 검증 실행을 트리거하도록 하려면 각 스포크 프로젝트에서 CI 도구를 구성해야 합니다.

CI 도구 모음을 저장하면 Looker는 pull 요청 이벤트에 대해 선택한 각 허브 프로젝트의 저장소에 웹훅 구독을 자동으로 만듭니다. 구독된 허브 프로젝트의 저장소에 pull 요청이 제출되면 Looker는 스포크 프로젝트에서 CI 실행을 트리거합니다. 실행은 가져온 허브 프로젝트를 pull 요청 커밋에 일시적으로 고정하면서 스포크 프로젝트의 프로덕션 버전을 검사합니다. Looker는 스포크 프로젝트의 CI 실행 결과를 허브 프로젝트의 pull 요청에 대한 커밋 상태로 보고합니다. Looker IDE의 스포크 프로젝트 실행 페이지에서 실행 세부정보를 볼 수도 있습니다. 여기서 트리거 열에는 프로젝트 가져오기가 표시되고 실행 결과 페이지에는 프로젝트 가져오기 섹션이 포함됩니다. 이러한 실행이 실행되는 방식과 결과를 검사하는 방법에 대한 자세한 내용은 CI 도구 모음 실행 및 CI 실행 결과 보기를 참조하세요.

알림 설정

CI 실행 상태에 따라 이메일 알림을 받으려면 CI 도구 모음에 대한 알림을 설정하면 됩니다. 이렇게 하면 Looker IDE의 실행 페이지를 참조하지 않고도 지속적 통합 실행을 모니터링할 수 있습니다.

CI 제품군의 이메일 알림을 구성하려면 CI 제품군을 만들거나 수정할 때 다음 단계를 따르세요.

  1. 이메일 알림 사용 설정 전환 버튼을 사용 설정합니다.
  2. 이메일 주소 필드에 알림을 받을 이메일 주소를 쉼표로 구분된 목록으로 입력합니다.
  3. 체크박스를 사용하여 알림을 트리거할 작업 상태를 선택합니다.
    • 실패: CI 실행이 검증 테스트에 실패하면 이메일을 트리거합니다.
    • 오류: CI 실행에서 시스템 또는 구성 오류가 발생하면 이메일을 트리거합니다.
    • 통과: CI 실행이 성공적으로 완료되면 이메일을 트리거합니다.
    • 취소됨: CI 실행이 취소되면 이메일을 트리거합니다.

모음 삭제

CI 도구 모음을 삭제하려면 다음 단계를 따르세요.

  1. Looker IDE의 IDE 탐색 메뉴에서 지속적 통합 아이콘을 클릭합니다.
  2. Suites 탭을 클릭하여 Suites 페이지를 엽니다.
  3. 도구 모음 페이지에서 도구 모음의 도구 모음 수정 버튼을 클릭합니다.
  4. 모음 페이지에서 모음 삭제 버튼을 클릭합니다.
  5. 확인 대화상자에서 모음 삭제 버튼을 클릭합니다.