고급 배포 모드

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

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

고급 배포 모드를 사용하면 각 환경이 서로 다른 코드베이스 버전을 가리키는 다중 환경 개발자 워크플로에서 저장소를 통합할 수 있습니다. 또한 한 명 이상의 개발자 또는 관리자가 프로덕션에 배포된 변경사항을 더 세부적으로 관리할 수 있게 됩니다.

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

고급 배포 모드 사용 설정

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

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

고급 배포 모드를 사용한 버전 제어

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

변경사항은 Looker IDE의 웹훅, API 또는 배포 관리자 UI를 사용하여 프로덕션에 배포됩니다.

배포 관리자

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

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

이 페이지의 배포 관리자에서 커밋 배포 섹션에 설명된 대로 태그 유무에 따라 커밋을 배포할 수 있습니다. 태그를 사용하여 커밋을 배포하면 배포 관리자가 커밋 SHA와 다른 태그 SHA를 표시합니다. Looker 프로젝트의 커밋 기록을 사용하여 태그와 연결된 커밋 SHA를 볼 수 있습니다. 태그 없이 커밋을 배포하면 배포 관리자에 커밋 SHA가 표시됩니다. 이는 Git 제공업체의 인터페이스 또는 Looker 프로젝트의 커밋 기록에서 확인할 수 있는 커밋 SHA와 동일합니다.

아직 고급 배포 모드를 사용하여 커밋을 배포하지 않았다면 커밋 선택 버튼을 클릭하여 Looker 개발자가 production 분기에 병합한 커밋을 확인합니다.

고급 배포 모드를 사용하여 커밋을 배포한 프로젝트의 경우 커밋 기록에서도 커밋에 연결된 태그(있는 경우)가 표시되며 현재 커밋이 프로덕션에 사용 중인 버전을 표시합니다.

production 분기에 배포된 커밋보다 최근 커밋이 있는 경우 배포 관리자는 이 정보를 표시하고 Looker 개발자가 production 분기에 병합한 최근 커밋을 표시합니다.

Deployment Manager에서 커밋 배포

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

  1. 아직 배포되지 않은 커밋을 배포하려면 커밋 선택 버튼을 클릭하여 원격 프로덕션 브랜치에 병합된 모든 커밋에서 선택합니다. 다른 분기에서 커밋을 배포하려면 고급 배포 모드 웹훅 또는 API 엔드포인트를 사용하세요.
  2. 원격 프로덕션 브랜치에서 가장 최근에 병합된 커밋을 배포하려면 최근 배포 버튼을 클릭합니다.
  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를 호출하는 API 사용자에게 deploy 권한이 필요합니다.

Looker API 인증 및 사용에 대한 자세한 내용은 Looker API 인증API 시작하기 문서 페이지를 참조하세요.

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

HTTPS

다음 예를 사용할 때 꺾쇠괄호 < >의 정보를 인스턴스 주소, LookML 프로젝트, 분기 이름, SHA 또는 태그 관련 정보로 바꾸세요.

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

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

다음 예를 사용할 때는 꺾쇠괄호 < >의 정보를 LookML 프로젝트와 관련된 정보, 분기 이름, SHA 또는 태그로 대체해야 합니다.

또는 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>})