고급 배포 모드

기본 Looker Git 통합을 사용하여 Looker 개발자는 변경사항을 개발 브랜치에 커밋한 후 개발 브랜치를 production 브랜치에 병합합니다. 그런 다음 Looker 환경에 배포할 때 Looker는 production 브랜치에서 최신 커밋을 사용합니다. 기본 Git 워크플로 및 고급 Git 구현 기타 옵션은 버전 제어 및 배포 사용 문서 페이지를 참조하세요.

프로덕션 브랜치의 최신 커밋을 Looker 환경에 사용하지 않으려는 고급 Git 구현의 경우 Looker 관리자가 고급 배포 모드를 사용 설정할 수 있습니다. 사용 설정 시 고급 배포 모드를 사용하여 deploy 권한을 가진 개발자가 프로덕션 브랜치에서 최신 커밋을 사용하는 대신 Looker 프로덕션 환경에 배포할 다른 커밋 SHA 또는 태그를 지정할 수 있습니다. 다른 브랜치에서 커밋을 배포하려면 고급 배포 모드 웹훅 또는 API 엔드포인트를 사용하면 됩니다.

고급 배포 모드는 각 환경이 서로 다른 버전의 코드베이스를 가리키는 다중 환경 개발자 워크플로에 저장소를 통합하는 데 도움이 됩니다. 또한 한 명 또는 여러 개발자나 관리자가 프로덕션에 배포되는 변경사항을 보다 효과적으로 제어할 수 있습니다.

고급 배포 모드를 사용 설정하면 Looker에서 개발자에게 변경사항을 프로덕션에 배포하라는 메시지를 표시하지 않습니다. 대신 Looker에서 개발자에게 변경사항을 프로덕션 브랜치에 병합하라는 메시지를 표시합니다. 이후 다음과 같은 방법으로만 변경사항을 배포할 수 있습니다.

고급 배포 모드 사용 설정

고급 배포 모드를 사용 설정하려면 다음 안내를 따르세요.

  1. 아이콘 메뉴에서 설정 아이콘을 선택하여 프로젝트 설정 페이지의 구성 탭으로 이동합니다.
  2. 배포 섹션에서 고급 배포 모드 사용 설정 옆에 있는 체크박스를 선택합니다.
  3. 프로젝트 구성 저장 버튼을 선택하여 변경사항을 저장합니다.

고급 배포 모드로 버전 제어

고급 배포 모드를 사용 설정하면 더 이상 개발자가 Looker에서 프로덕션에 배포할 수 없습니다. 대신 개발자가 커밋을 수행할 때 변경사항을 프로덕션에 배포하라는 메시지가 아닌 기본 브랜치에 병합하라는 Git 버튼이 표시됩니다.

변경사항은 웹훅, API, Deployment Manager를 사용하여 프로덕션에 배포됩니다.

Deployment Manager

고급 배포 모드가 사용 설정된 프로젝트의 경우 deploy 권한이 있는 Looker 개발자는 배포 관리자를 사용하여 커밋 또는 태그를 Looker 프로덕션 환경에 배포할 수 있습니다.

아이콘 메뉴에서 배포 아이콘을 선택하여 Deployment Manager에 액세스할 수 있습니다.

Deployment Manager는 고급 배포 모드를 사용하여 이전에 배포된 모든 커밋 및 태그를 표시합니다.

아직 고급 배포 모드를 사용하여 커밋을 배포하지 않은 경우 커밋 선택 버튼을 클릭하여 Looker 개발자가 프로덕션 브랜치에 병합한 커밋이 포함된 커밋 기록을 확인합니다.

고급 배포 모드를 사용하여 커밋을 배포한 프로젝트의 경우 커밋 기록에 연결된 커밋 태그도 표시되며 어떤 커밋이 현재 프로덕션에 사용 중인 버전인지 나타냅니다.

프로덕션 브랜치에 배포된 커밋보다 최근 커밋이 있다면, 배포 관리자가 이 정보를 표시하고 Looker 개발자가 프로덕션 분기에 병합한 최신 커밋을 표시합니다.

Deployment Manager에서 커밋 배포

배포 관리자에서 커밋을 배포하는 방법에는 여러 가지가 있습니다.

  1. 아직 배포되지 않은 커밋을 배포하려면 커밋 선택 버튼을 클릭하여 원격 production 분기에 병합된 모든 커밋 중에서 선택합니다. 다른 브랜치에서 커밋을 배포하려면 고급 배포 모드 웹훅 또는 API 엔드포인트를 사용합니다.
  2. 원격 production 분기에 가장 최근에 병합된 커밋을 배포하려면 최신 배포 버튼을 클릭합니다.
  3. 이전에 배포된 커밋 또는 태그를 배포하려면 배포 관리자에서 점 3개로 된 옵션 메뉴 를 클릭한 다음 프로덕션에 배포를 클릭합니다.

이전에 배포되지 않은 커밋을 선택하면 배포 관리자에 커밋 배포 메뉴가 표시됩니다. 커밋 배포 메뉴에서 커밋을 배포하려면 다음 단계를 수행합니다.

  1. 태그를 할당하지 않고 커밋을 배포하려면 태그 없이 배포를 선택하고 환경에 배포를 선택합니다. 그렇지 않으면 태그 및 배포 옵션을 선택한 상태로 유지합니다.
  2. 커밋에 대한 태그를 지정합니다. Git 태그는 출시 번호 또는 버전 이름과 같은 저장소 기록에서 커밋의 중요성을 표시합니다. Git 태그에 대해서는 다음 사항에 유의하세요.

    • Git 태그는 Git 저장소 내에서 고유해야 합니다. 저장소의 두 가지 커밋에 같은 태그를 사용할 수 없습니다.
    • Git 태그에는 공백이나 특정 특수문자가 포함될 수 없습니다. Git의 참조 이름을 지정하는 규칙은 Git 참조 문서를 확인하세요.
  3. 원하는 경우 태그 설명을 추가하여 커밋에 대한 세부정보를 제공할 수 있습니다.

  4. 환경에 배포를 선택하여 Looker 인스턴스의 프로덕션 버전에 커밋을 배포합니다.

커밋을 배포하면 배포 관리자가 Looker 프로덕션 환경에서 커밋을 현재 버전으로 표시합니다.

웹훅을 사용하여 배포

고급 배포 모드가 설정된 프로젝트의 경우 배포 웹훅을 사용하여 프로덕션에 대한 변경사항을 배포할 수 있습니다.

배포 웹훅을 설정하려면 먼저 프로젝트 설정 페이지에서 Looker 프로젝트의 웹훅 보안 비밀을 추가해야 합니다. 이는 승인된 당사자만 배포 웹훅을 트리거할 수 있도록 하기 위한 것입니다.

고급 배포 모드가 사용 설정된 상태에서 프로덕션에 대한 변경사항을 배포하기 위해 두 개의 웹훅을 사용할 수 있습니다. 하나의 웹훅은 브랜치의 헤드를 배포하기 위한 것이고, 다른 하나는 특정 Git SHA 또는 태그를 배포하기 위한 것입니다.

브랜치의 헤드를 배포하는 웹훅은 다음 형식을 사용합니다.

<Looker URL>/webhooks/projects/<LookML project name>/deploy/branch/<Git branch name>

커밋 SHA 또는 태그를 배포하기 위한 웹훅에서는 다음 형식을 사용합니다.

<Looker URL>/webhooks/projects/<LookML project name>/deploy/ref/<commit SHA or tag>

꺾쇠괄호 < >의 정보를 인스턴스 주소, LookML 프로젝트, 브랜치 이름 또는 커밋 SHA/태그와 관련된 정보로 바꿉니다. 다음은 docsexamples.dev.looker.com Looker 인스턴스에 대해 e_faa 프로젝트의 v1.0 태그 이름을 배포하는 웹훅의 예시입니다.

https://docsexamples.dev.looker.com/webhooks/projects/e_faa/deploy/ref/v1.0

API를 사용하여 배포

고급 배포 모드가 설정된 프로젝트의 경우 Looker API를 사용하여 변경사항을 프로덕션에 배포할 수 있습니다.

API를 사용하여 배포하려면 호출을 수행하는 API 사용자에게 deploy 권한이 있어야 합니다. Looker API 인증 및 사용에 대한 자세한 내용은 Looker API 인증API 시작하기 문서 페이지를 참조하세요.

API를 사용하여 배포하려면 deploy_ref_to_production 엔드포인트를 사용합니다. 여러 가지 방법으로 이 엔드포인트를 호출할 수 있습니다. 다음은 HTTPSSDK 메서드에 대한 예시입니다.

HTTPS

deploy_ref_to_production API 엔드포인트를 사용하여 수동으로 배포하려면 HTTPS 메서드를 사용하는 다음 예시를 참조하세요. CURL 요청을 사용하여 API를 수동으로 호출하는 방법에 대한 자세한 내용과 예시는 API에 인증하는 방법 GitHub readme를 참조하거나 API 탐색기를 사용하세요. Looker Marketplace에서 Looker 인스턴스에 API 탐색기를 설치할 수 있습니다.

HTTPS 요청에서 다음 예시를 사용하여 deploy_ref_to_production API 엔드포인트를 통해 브랜치의 헤드 또는 특정 커밋 SHA 또는 태그를 배포합니다.

브랜치의 헤드 배포: <HOST_URL>/api/4.0/projects/<PROJECT_ID>/deploy_ref_to_production?branch=<BRANCH_NAME>

커밋 SHA 또는 태그 배포: <HOST_URL>/api/4.0/projects/<PROJECT_ID>/deploy_ref_to_production?ref=<SHA_OR_TAG>

SDK

또는 API에 대한 수동 요청 대신 Looker의 SDK 중 하나를 사용합니다. SDK는 인증, 매개변수, 응답 직렬화, 기타 문제에 대한 세부정보를 처리합니다.

SDK 메서드에서 deploy_ref_to_production을 사용하여 배포하는 방법은 다음과 같습니다.

브랜치의 헤드 배포: deploy_ref_to_production(<PROJECT_ID>, {branch: <BRANCH_NAME>})

커밋 SHA 또는 태그 배포: deploy_ref_to_production(<PROJECT_ID>, {ref: <SHA_OR_TAG>})