Cloud Build 트리거

Cloud Build는 빌드 트리거를 사용하여 CI/CD 자동화를 사용 설정합니다. 새 커밋을 저장소에 푸시할 때 또는 pull 요청이 시작될 때와 같은 수신 이벤트를 리슨하고 새 이벤트가 수신되면 빌드를 자동으로 실행하도록 트리거를 구성할 수 있습니다. 또한 모든 소스 저장소 변경사항 또는 특정 기준과 일치하는 변경사항에 따라 코드를 빌드하도록 트리거를 구성할 수 있습니다.

이 페이지에서는 각 트리거 유형 및 트리거와 관련된 기능에 대해 간략히 설명합니다.

저장소 이벤트 트리거

Cloud Build를 사용하면 푸시 또는 pull 요청과 같은 저장소 이벤트에 따라 빌드를 자동으로 실행할 수 있습니다. GitHub 또는 Bitbucket의 저장소와 같은 외부 저장소를 Cloud Build에 연결하거나 빌드에 대해 Cloud Source Repositories의 코드를 사용할 수 있습니다. Cloud Build에 소스 저장소를 연결할 수 있지만 Cloud Build는 특정 소스 코드 관리 시스템(SCM)을 통합하기 위해 사용할 수 있는 특정 저장소 이벤트 트리거를 제공합니다. 이 섹션에서는 사용 가능한 저장소 이벤트 트리거에 대해 설명합니다.

GitHub 트리거

푸시 또는 pull 요청과 같은 저장소 이벤트에 대한 응답으로 빌드를 자동으로 실행하기 위해 GitHub 트리거를 만들 수 있습니다. GitHub 및 Google Cloud 콘솔에서 트리거 빌드 상태를 볼 수 있습니다. 또한 Cloud Build GitHub 앱을 사용하여 GitHub에서 코드를 연결하고 빌드할 수 있습니다. 자세한 내용은 GitHub에서 저장소 빌드를 참조하세요.

GitHub Enterprise 트리거

온프레미스 환경에서 호스팅되고 공개 인터넷을 통해 연결할 수 없는 인스턴스를 포함하여 GitHub Enterprise 인스턴스에서 호스팅되는 저장소에 대해 트리거를 만들 수 있습니다. GitHub Enterprise 트리거를 사용하여 GitHub Enterprise 인스턴스의 푸시 또는 pull 요청에 대한 응답으로 빌드를 실행할 수 있습니다. 자세한 내용은 GitHub Enterprise에서 저장소 빌드를 참조하세요.

GitLab Enterprise Edition 트리거

비공개 네트워크에서 호스팅되는 인스턴스를 포함하여 GitLab Enterprise Edition 인스턴스에서 호스팅되는 저장소의 트리거를 만들 수 있습니다. GitLab Enterprise Edition 트리거를 사용하여 GitLab Enterprise Edition 저장소와 관련된 푸시 또는 pull 요청 커밋에 대한 응답으로 빌드를 실행할 수 있습니다. 자세한 내용은 GitLab Enterprise Edition에서 저장소 빌드를 참조하세요.

Bitbucket 서버 트리거

온프레미스 환경에서 호스팅되는 인스턴스를 포함하여 Bitbucket Server 인스턴스에서 호스팅되는 저장소에 대해 트리거를 만들 수 있습니다. 여러 호스트 연결을 사용해서 Bitbucket Server 저장소를 Cloud Build에 여러 번 연결할 수 있습니다. 이벤트에 대한 응답으로 빌드를 실행하기 위해 트리거를 만드는 방법을 자세히 알아보려면 Bitbucket Server에서 저장소 빌드를 참조하세요.

Bitbucket 데이터 센터 트리거

온프레미스 환경에서 호스팅되는 인스턴스를 포함하여 Bitbucket 데이터 센터 인스턴스에서 호스팅되는 저장소에 대해 트리거를 만들 수 있습니다. Bitbucket 데이터 센터 트리거를 사용하여 푸시 또는 pull 요청 커밋과 같은 이벤트에 대한 응답으로 빌드를 실행할 수 있습니다. 자세한 내용은 Bitbucket 데이터 센터에서 저장소 빌드를 참조하세요.

Bitbucket Cloud 트리거

Bitbucket Cloud에서 호스팅되는 저장소에 대해 트리거를 만들 수 있습니다. Bitbucket Cloud 트리거를 사용하여 푸시 또는 pull 요청 커밋과 같은 이벤트에 대한 응답으로 빌드를 실행할 수 있습니다. 자세한 내용은 Bitbucket Cloud에서 저장소 빌드를 참조하세요.

수동 트리거

빌드를 수동으로 실행하고 빌드 실행 전 호출 시 정의된 대체 변수 값을 재정의하도록 수동 트리거를 만들 수 있습니다. 또한 일정에 따라 실행되도록 수동 트리거를 구성할 수 있습니다. 자세한 내용은 소스 저장소에 수동으로 코드 빌드를 참조하세요.

Pub/Sub 트리거

Pub/Sub를 통해 게시된 메시지에 대한 응답으로 빌드를 실행하도록 Pub/Sub 트리거를 만들 수 있습니다. 예를 들어 Artifact Registry에 대한 이미지 푸시의 응답으로 빌드에 Pub/Sub 트리거를 사용할 수 있습니다. 이 경우 푸시된 이미지가 prod와 같은 특정 태그와 일치할 경우에만 빌드를 실행하도록 필터를 사용하기 위해 트리거를 구성할 수 있습니다. 또한 모든 Pub/Sub 주제를 구독하도록 Pub/Sub 트리거를 구성할 수 있습니다. 자세한 내용은 Pub/Sub 이벤트에 대한 응답으로 빌드 자동화를 참조하세요.

웹훅 트리거

웹훅에 대한 응답으로 빌드를 실행하도록 웹훅 트리거를 만들 수 있습니다. 커스텀 URL에 전송된 웹훅 이벤트는 Bitbucket.com, Bitbucket Server, GitLab과 같은 외부 시스템 및 외부 소스 코드 관리 시스템(SCM)을 Cloud Build에 직접 연결할 수 있습니다. 또한 웹훅 트리거를 만들 때는 소스를 명시적으로 지정하는 대신 빌드 시간 중 클론을 트리거할 저장소를 제어하기 위해 트리거에 빌드 구성을 인라인으로 정의할 수 있습니다. 자세한 내용은 웹훅 이벤트에 대한 응답으로 빌드 자동화를 참조하세요. 또한 특정 SCM에서 저장소를 빌드하기 위해 웹훅 트리거를 사용하는 방법을 알아보려면 Bitbucket Server에서 저장소 빌드, Bitbucket Cloud에서 저장소 빌드, GitLab에서 저장소 빌드를 참조하세요.

트리거 기능

Cloud Build 트리거는 빌드 실행 방법에 대한 미세 조정된 제어 기능을 제공합니다. 이 섹션에서는 트리거와 관련된 여러 기능에 대해 설명합니다.

예약된 수동 트리거

미리 정의된 일정에 따라 빌드를 자동으로 실행하도록 수동 트리거를 예약할 수 있습니다. 예를 들어 매주 토요일 오전 6시 빌드를 실행하도록 예약된 트리거를 구성해야 할 수 있습니다. 빌드를 예약하려면 수동 트리거를 만들고 Cloud Scheduler를 사용하여 트리거를 호출할 수 있습니다. 자세한 내용은 빌드 예약을 참조하세요.

이벤트 필터링

Cloud Build는 트리거 ID, 이미지 목록 또는 대체 값과 같은 빌드 이벤트와 연결된 필드에 액세스하기 위해 빌드 리소스에 나열된 필드에서 build 변수로 Common Expression Language(CEL)를 사용합니다. filter 문자열을 사용하여 빌드 리소스에 나열된 필드를 사용해서 빌드 구성 파일의 빌드 이벤트를 필터링할 수 있습니다. 자세한 내용은 CEL을 사용하여 빌드 이벤트 필터링을 참조하세요.

대체 변수

빌드 시 특정 값을 대체하도록 빌드 구성 파일에 대체 변수를 지정할 수 있습니다. 예를 들어 빌드 시까지 값이 알려지지 않은 경우 또는 기존 빌드 요청을 다른 변수에 재사용하려는 경우 대체 변수를 사용해야 할 수 있습니다. Cloud Build는 트리거 이름 또는 저장소 이름에 대한 변수 매핑과 같이 트리거로 호출되는 빌드에 사용할 수 있는 기본 대체를 제공합니다. 또한 자신의 대체 변수를 정의할 수도 있습니다. 자세한 내용은 대체 변수 값을 참조하세요.

bash 매개변수 확장

bash 매개변수 확장을 대체 변수 값에 적용할 수 있습니다. Bash 매개변수 확장을 사용하면 기존 변수와 연결된 문자열을 조작할 수 있습니다. 예를 들어 bash 매개변수 확장을 사용하여 문자를 대문자로 표시하거나 하위 문자열을 대체할 수 있습니다. 자세한 내용은 Bash 매개변수 확장을 참조하세요.

페이로드 바인딩

페이로드 바인딩을 사용하여 트리거의 이벤트 페이로드 부분을 대체 변수로 저장할 수 있습니다. 페이로드와 연결된 변수를 바인딩이라고 부르고 푸시 및 pull 이벤트 모두로 호출되는 빌드에 사용할 수 있습니다. 바인딩을 사용하면 pull 요청의 저자와 같은 빌드 관련 추가 데이터에 액세스할 수 있습니다. 자세한 내용은 페이로드 바인딩을 참조하세요.

승인

빌드를 즉시 실행하지 않고 대신 승인될 때까지 빌드를 대기 중으로 표시하는 트리거를 구성할 수 있습니다. 권한을 가진 사용자가 대기 중인 빌드를 승인하면 빌드가 시작됩니다. 승인이 거부되면 빌드가 시작되지 않습니다. 승인이 필요한 트리거를 구성하는 방법은 승인 시 게이트 빌드를 참조하세요.

빌드 상태 알림

Pub/Sub cloud-builds 주제에서 빌드 이벤트 업데이트를 리슨하도록 Cloud Build 알리미를 구성할 수 있습니다. 알리미는 또한 주제로 수신되는 메시지를 필터링하고 메시지를 연결된 서비스에 전송할 수 있습니다. Cloud Build는 배포 가능한 알리미 이미지를 제공하고 cloud-build-notifiers 저장소에서 유지관리합니다. BigQuery, HTTP, Slack, SMTP와 같은 Cloud Build 알리미를 사용하여 알림을 구성하거나 자체 알리미를 만들 수 있습니다.

다음 단계