Code Stream 관리자 또는 개발자는 Git 트리거를 사용하여 Code Stream 클라우드 서비스를 Git 수명 주기와 통합할 수 있습니다. GitHub, GitLab 또는 Bitbucket Enterprise에서 코드를 변경하면 이벤트가 Webhook을 통해 Code Stream과 통신하고 파이프라인을 트리거합니다. Webhook는 GitLab, GitHub 및 Bitbucket 클라우드 및 온-프레미스 엔터프라이즈 버전에서 작동합니다.

Code Stream에 Git에 대한 Webhook을 추가하면 GitHub, GitLab 또는 Bitbucket 저장소에도 Webhook이 생성됩니다. 나중에 Webhook을 업데이트하거나 삭제하는 경우 해당 작업은 GitHub, GitLab 또는 Bitbucket의 Webhook도 업데이트하거나 삭제합니다.

Webhook 정의에는 모니터링할 저장소 분기의 Git 끝점이 포함되어야 합니다. Webhook을 생성하기 위해 Code Stream은 Git 끝점을 사용합니다. 끝점이 없는 경우 Webhook을 추가할 때 끝점을 생성할 수 있습니다. 이 예에서는 GitHub에 사전 정의된 Git 끝점이 있다고 가정합니다.

동일한 Git 끝점을 사용하고 Webhook 구성 페이지에서 분기 이름에 서로 다른 값을 제공하여 여러 분기에 대해 다수의 Webhook을 생성하고 할 수 있습니다. 여러 분기에 대해 Git 끝점을 여러 번 복제하는 대신 동일한 Git 저장소의 다른 분기에 대해 다른 Webhook을 생성하려면 Webhook에 분기 이름을 제공하면 됩니다. 이러한 방식으로 Git 끝점을 재사용할 수 있습니다. Git Webhook의 분기가 끝점의 분기와 동일한 경우 Git Webhook 페이지에서 분기 이름을 제공하지 않아도 됩니다.

이 예에서는 Git 트리거를 GitHub 저장소와 사용하는 방법을 보여주지만 다른 Git 서버 유형을 사용하는 경우 준비가 필요하다는 내용이 사전 요구 사항에 포함되어 있습니다.

사전 요구 사항

프로시저

  1. Code Stream에서 트리거 > Git을 클릭합니다.
  2. Git에 대한 Webhook 탭을 클릭한 다음 Git에 대한 새 Webhook을 클릭합니다.
    1. 프로젝트를 선택합니다.
    2. Webhook에 대한 의미 있는 이름과 설명을 입력합니다.
    3. 모니터링하려는 분기에 대해 구성된 Git 끝점을 선택합니다.
      Webhook을 생성할 때 Webhook 정의에는 현재 끝점 세부 정보가 포함됩니다.
      • 나중에 끝점에서 Git 유형, Git 서버 유형 또는 Git 저장소 URL을 변경하는 경우 Webhook은 원래 끝점 세부 정보를 사용하여 Git 저장소에 액세스하려고 하기 때문에 더 이상 파이프라인을 트리거할 수 없습니다. Webhook을 삭제하고 해당 끝점으로 Webhook을 다시 생성해야 합니다.
      • 나중에 끝점에서 인증 유형, 사용자 이름 또는 암호를 변경하는 경우 Webhook은 계속 작동합니다.
      Git와 Code Stream을 통합하는 방법의 내용을 참조하십시오.
    4. (선택 사항) Webhook에서 모니터링할 분기를 입력합니다.
      분기를 지정하지 않은 상태로 두면 Webhook은 Git 끝점에 대해 구성한 분기를 모니터링합니다.
    5. (선택 사항) Webhook에 대한 비밀 토큰을 생성합니다.
      비밀 토큰을 사용하는 경우 Code Stream은 Webhook에 대한 임의 문자열 토큰을 생성합니다. 그런 다음 Webhook이 Git 이벤트 데이터를 수신하면 Webhook은 비밀 토큰과 함께 데이터를 전송합니다. Code Stream은 이 정보를 사용하여 호출이 구성된 GitHub 인스턴스, 저장소, 분기와 같은 예상된 소스로부터 수신되었는지 여부를 판별합니다. 비밀 토큰은 Git 이벤트 데이터가 올바른 소스로부터 수신된 것인지 확인하는 데 사용되는 추가적인 보안 계층을 제공합니다.
    6. (선택 사항) 파일 포함 또는 제외를 트리거에 대한 조건으로 제공합니다.
      • 파일 포함. 포함 경로 또는 정규식에 지정된 파일과 일치하는 파일이 커밋에 하나라도 있으면 파이프라인이 트리거됩니다. 정규식을 지정하는 경우 Code Stream은 변경 집합의 파일 이름이 제공된 표현식과 일치하는 경우에만 파이프라인을 트리거합니다. 정규식 필터는 단일 저장소의 여러 파이프라인에 대해 트리거를 구성할 때 유용합니다.
      • 파일 제외. 커밋의 모든 파일이 제외 경로 또는 정규식에 지정된 파일과 일치하면 파이프라인이 트리거되지 않습니다.
      • 제외 우선 순위 지정. [제외 우선 순위 지정]을 설정하면 커밋에서 임의의 파일이 제외 경로 또는 정규식에 지정된 파일과 일치하더라도 파이프라인이 트리거되지 않습니다. 기본 설정은 해제입니다.
      조건이 파일 포함과 파일 제외를 모두 충족하면 파이프라인이 트리거되지 않습니다.

      다음 예에서 파일 포함과 파일 제외 모두 트리거에 대한 조건입니다.

      파일 포함 및 파일 제외와 해당 값은 Git에 대한 트리거의 Git에 대한 Webhook 탭에 표시되며 일반 또는 정규식일 수 있습니다.

      • 파일 포함의 경우 runtime/src/main/a.java 또는 모든 Java 파일에 대한 변경을 커밋하면 이벤트 구성에서 구성된 파이프라인이 트리거됩니다.
      • 파일 제외의 경우 두 파일에 대한 변경만 커밋하면 이벤트 구성에서 구성된 파이프라인이 트리거되지 않습니다.
    7. Git 이벤트의 경우 푸시 또는 요청을 선택합니다.
    8. API 토큰을 입력합니다.
      CSP API 토큰은 Code Stream에 대한 외부 API 연결에 사용자를 인증합니다. API 토큰을 가져오려면:
      1. vRealize Automation Cloud에 로그인합니다.
      2. 이름 옆에 있는 드롭다운 화살표를 클릭합니다.
      3. 내 계정을 클릭합니다.
      4. API 토큰을 클릭합니다.
      5. 토큰 생성을 클릭합니다.
        1. 토큰 이름을 입력합니다.
        2. [조직 역할] 아래에서 조직 소유자를 선택합니다.
        3. [서비스 역할] 아래에서 VMware Code Stream을 클릭하여 확장하고 Code Stream 관리자를 선택합니다.
        4. 생성을 클릭합니다.

          Token Generated 창에는 사용자가 지정한 이름과 조직의 이름이 포함된 토큰이 표시됩니다.

      6. 복사 아이콘을 클릭합니다.

        복사를 클릭하면 정확한 문자열을 캡처할 수 있고 포인터를 사용하여 문자열을 복사하는 것보다 더 안정적입니다.

    9. Webhook가 트리거할 파이프라인을 선택합니다.
      사용자 지정 추가 입력 매개 변수가 파이프라인에 포함된 경우 [입력 매개 변수] 목록에 매개 변수 및 값이 표시됩니다. 트리거 이벤트를 사용하여 파이프라인에 전달되는 입력 매개 변수에 대한 값을 입력할 수 있습니다. 또는 값을 비워 두거나 기본값(정의된 경우)을 사용할 수도 있습니다.

      Git 트리거의 자동 삽입 입력 매개 변수에 대한 자세한 내용은 사전 요구 사항을 참조하십시오.

    10. 생성을 클릭합니다.
      Webhook이 새 카드로 나타납니다.
  3. Webhook 카드를 클릭합니다.
    Webhook 데이터 양식이 다시 나타나면 양식 상단에 Webhook URL이 추가된 것을 볼 수 있습니다. Git Webhook이 Webhook URL을 통해 GitHub 저장소에 연결됩니다.

    Git 저장소에서 복사하여 사용하는 Git Webhook URL은 Git에 대한 트리거의 Git에 대한 Webhook 탭에 나타납니다.

  4. 새 브라우저 창에서 Webhook을 통해 연결되는 GitHub 저장소를 엽니다.
    1. Code Stream에 추가한 Webhook을 보려면 설정 탭을 클릭하고 Webhook을 선택합니다.
      Webhook 목록의 맨 아래에 동일한 Webhook URL이 표시됩니다.

      GitHub 저장소에서 Webhook 목록은 목록 맨 아래에 동일한 Git Webhook URL이 표시됩니다.

    2. 코드를 변경하려면 코드 탭을 클릭하고 분기에서 파일을 선택합니다. 파일을 편집한 후 변경 내용을 커밋합니다.
    3. Webhook URL이 작동하는지 확인하려면 설정 탭을 클릭하고 Webhook을 다시 선택합니다.
      Webhook 목록의 맨 아래에는 Webhook URL 옆에 녹색 확인 표시가 나타납니다. GitHub의 Webhook이 유효하면 녹색 확인 표시가 나타납니다.
  5. Git Webhook의 작업을 보려면 Code Stream으로 돌아갑니다. 트리거 > Git > 작업을 클릭합니다.
    [실행 상태] 아래에서 파이프라인 실행이 시작되었는지 확인합니다.

    사용자가 파일을 커밋하면 Git에 대한 트리거가 활성화되고 작업 탭에 트리거 상태가 [시작됨]으로 표시됩니다.

  6. 실행을 클릭한 후 실행 중인 파이프라인을 추적합니다.
    파이프라인 실행을 관찰하려면 새로 고침 버튼을 누르면 됩니다.

    파이프라인이 트리거된 후 파이프라인 실행에 상태가 [실행 중]으로 표시됩니다.

결과

축하합니다! Git에 대한 트리거 사용에 성공했습니다!