특정 커밋 SHA에 대한 Google 클라우드 빌드 웹훅

3663 단어 googlecloud
gcloud 빌드에는 간단한 http api를 사용하여 빌드를 트리거할 수 있는 웹훅 트리거가 있습니다.
이러한 트리거를 만드는 방법을 찾을 수 있습니다here.

제게 단점은 웹트리거가 특정 커밋에 적용되지 않고, master 같은 브랜치에만 적용된다는 점,
또한 지점 이름이 고정되어 있습니다.

오늘 저는 모든 커밋에 대해 웹후크 트리거를 사용하여 빌드를 트리거하는 흥미로운 방법을 찾았습니다.

간단히 말해서 존재할 수 없는 분기 이름을 사용하여 일반 푸시 분기 트리거를 만듭니다. 그런 다음 Webhook 트리거를 생성합니다.gcloud alpha builds triggers run --sha={COMMIT_SHA} 명령을 사용하여 특정 커밋의 commitSha로 첫 번째 트리거를 실행합니다.

이제 사진.

이것은 푸시 분기 트리거입니다.




웹후크 트리거입니다.





다음과 같은 대체



다음 인라인 소스

steps:
  - name: 'google/cloud-sdk'
    args:
      - '-c'
      - |
        set -eou pipefail
        shopt -s inherit_errexit

        if [[ "${COMMIT_SHA}" ]]; then
          echo "HERE ${COMMIT_SHA}"
          gcloud alpha builds triggers run ${_TRIGGER_NAME} --sha ${COMMIT_SHA}
        else
          echo "MASTER"
          gcloud alpha builds triggers run ${_TRIGGER_NAME} --branch=master
        fi
    id: aggregator-custom-build
    waitFor:
      - '-'
    entrypoint: bash
tags:
  - webhook-trigger


드디어



Webhook 트리거를 호출하려면 다음이 필요합니다.

    curl -X POST -H "application/json" \
    "https://cloudbuild.googleapis.com/v1/projects/${PROJECT}/triggers/webhook-invoke-trigger:webhook?key=${API_KEY}" \
    -d '{"COMMIT_SHA": "${COMMIT_SHA}", "TRIGGER_NAME": "webhook-invoke-agg-custom-update"}'


이를 통해 "sha fixed"스크립트를 사용하여 정기적인 데이터 업데이트와 같은 특정 빌드 단계를 실행할 수 있습니다.

좋은 웹페이지 즐겨찾기