웹훅 설정

이 페이지에서는 Secure Source Manager에서 웹훅을 설정하는 방법을 설명합니다.

웹훅은 Secure Source Manager의 이벤트에 의해 트리거되고 사용자가 지정한 URL로 전송되는 HTTP 요청입니다.

시작하기 전에

  1. Secure Source Manager 인스턴스를 만듭니다.
  2. Secure Source Manager 저장소 만들기

필요한 역할

웹훅을 만드는 데 필요한 권한을 얻으려면 관리자에게 다음 IAM 역할을 부여해 달라고 요청하세요.

역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.

Secure Source Manager 역할 부여에 대한 자세한 내용은 IAM으로 액세스 제어사용자에게 인스턴스 액세스 권한 부여를 참고하세요.

웹훅 설정

  1. Secure Source Manager 웹 인터페이스에서 웹훅을 만들 저장소로 이동합니다.
  2. 설정을 클릭합니다.
  3. 웹훅을 클릭한 다음 웹훅 추가를 클릭합니다.
  4. Hook ID 필드에 웹훅의 ID를 입력합니다.

  5. 타겟 URL 필드에 웹훅 URL을 입력합니다. 예를 들어 Jenkins에서 빌드를 트리거하려면 웹훅 트리거를 설정한 다음 여기에 Jenkins 트리거 URL을 입력하여 Jenkins에서 빌드를 트리거하면 됩니다.

  6. 웹훅 트리거를 만들 때 입력한 키와 보안 비밀 값이 웹훅 URL에 포함되어 있는 경우 타겟 URL의 끝에서 이를 삭제하고 민감한 쿼리 문자열 필드에 복사합니다.

    웹훅 URL에서 키와 비밀번호를 찾으려면 key=로 시작하는 텍스트를 찾으세요.

    예를 들어 다음 URL이 있다고 가정해 보겠습니다. https://cloudbuild.googleapis.com/v1/projects/my-project/triggers/test-trigger:webhook?key=eitIfKhYnv0LrkdsyHqIros8fbsheKRIslfsdngf&secret=Hello%20Secret%20Manager

    타겟 URL 필드에서 물음표 ?key=...로 시작하는 부분을 복사하여 삭제합니다. 그런 다음 초기 물음표를 삭제하고 나머지 부분 key=...민감한 쿼리 문자열 필드로 이동합니다.

  7. 트리거 조건 섹션에서 다음 중 하나를 선택합니다.

    • 푸시: 저장소로 푸시할 때 트리거됩니다.
    • Pull request state changed: pull request 상태가 변경될 때 트리거됩니다.
  8. 푸시를 선택한 경우 브랜치 필터 필드에 푸시 이벤트 허용 목록을 입력할 수 있습니다.

    브랜치 필터 필드는 glob 패턴을 사용하며 일치하는 브랜치에 대한 작업만 빌드 트리거를 발생시킵니다. 필드가 비어 있거나 *이면 모든 브랜치의 푸시 이벤트가 보고됩니다. 구문에 대한 자세한 내용은 glob 문서를 참고하세요.

  9. 웹훅 추가를 클릭합니다.

  10. 웹훅이 웹훅 페이지에 표시됩니다.

웹훅 테스트

  1. Secure Source Manager 웹훅 페이지에서 테스트할 웹훅을 클릭합니다.
  2. 페이지 하단으로 이동하여 전송 테스트를 클릭합니다.

    자리표시자 이벤트가 전송 대기열에 추가됩니다. 전송 기록에 표시되기까지 몇 초 정도 걸릴 수 있습니다.

  3. git 명령어를 사용하여 풀 요청을 푸시하거나 병합하여 웹훅을 테스트할 수도 있습니다.

  4. 웹훅 트리거를 구성한 서비스의 빌드 기록에서 트리거된 빌드 또는 이벤트의 상태를 확인합니다.

  5. 첫 번째 테스트 전송을 보낸 후 Secure Source Manager 웹훅 페이지의 최근 전송 섹션에서 테스트 전송의 요청응답을 확인할 수도 있습니다.

Cloud Build YAML 변수를 페이로드 데이터로 대체

웹훅을 사용하여 Cloud Build에 연결하는 경우 Cloud Build YAML 변수를 Secure Source Manager 웹훅 페이로드 데이터로 대체할 수 있습니다.

  1. Secure Source Manager 웹훅 페이지의 최근 전송 섹션에서 상단 행을 클릭합니다.

    웹훅 페이로드에서 전송된 Request 헤더와 콘텐츠가 표시됩니다.

  2. Cloud Build 대시보드로 이동한 다음 트리거를 클릭합니다.

  3. 구성하려는 트리거를 클릭합니다.

  4. 고급 섹션대체 변수에서 + 변수 추가를 클릭합니다.

  5. 변수의 이름과 값을 입력합니다. 값 접두사는 body입니다.

    예를 들어 _REPO_URL을 페이로드 데이터 필드 repository.clone_url로 대체하고 _COMMIT_SHA을 Cloud Build YAML의 최신 커밋 sha로 대체하려면 다음 이름과 값을 입력합니다.

    • 변수 1: _REPO_URL 값 1: $(body.repository.clone_url)
    • 변수 2: _COMMIT_SHA 값 2: $(body.after)

    Cloud Build YAML 파일은 다음과 같습니다.

    steps:
    - name: gcr.io/cloud-builders/git
      env:
      - '_REPO_URL=$_REPO_URL'
      - '_COMMIT_SHA=$_COMMIT_SHA'
      script: |
        #!/bin/sh
        git clone ${_REPO_URL} /workspace
        cd /workspace
        git reset --hard ${_COMMIT_SHA}
    

다음 단계