Jenkins용 서비스 후크 만들기

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

이 문서에서는 Jenkins 빌드를 트리거하도록 Azure DevOps 프로젝트에 대한 서비스 후크를 설정하는 방법을 설명합니다. Jenkins를 사용하여 앱을 빌드하는 경우 Git 리포지토리에 코드를 저장하고 연속 통합 빌드에 Jenkins를 사용할 수 있습니다. Git 리포지토리에 코드를 푸시하거나 코드를 TFVC(Team Foundation 버전 제어) 리포지토리에 체크 인할 때 Jenkins 빌드를 트리거할 수 있습니다.

Azure Pipelines에서 앱의 일부를 빌드하고 Jenkins의 일부를 빌드할 수 있습니다. 두 시스템을 모두 사용하여 앱을 빌드하도록 Azure Pipelines 빌드가 완료되면 Jenkins 빌드를 트리거할 수 있습니다.

Azure DevOps는 서비스 후크를 설정하거나 외부 서비스와 통합하는 데 비용이 청구되지 않으며 Jenkins는 완전히 오픈 소스이며 무료로 사용할 수 있습니다.

Jenkins 서비스 후크 만들기

Azure DevOps 조직 또는 프로젝트에 대한 서비스 후크를 관리하려면 조직에서 소유자 또는 프로젝트 컬렉션 관리자 역할이 있어야 합니다.

Jenkins 구성

  1. 없는 경우 Jenkins 서버를 설정합니다.

  2. 온-프레미스에서 Jenkins를 설정한 경우 HTTPS사용하도록 설정합니다.

  3. jenkins.xml 구성 파일에서 매개 변수 앞에 -jar 태그에서 다음 줄을 <arguments> 추가하거나 업데이트하여 hudson.plugins.git.GitStatus.NOTIFY_COMMIT_ACCESS_CONTROL 시스템 속성을 disabled 설정합니다.

    -Dhudson.plugins.git.GitStatus.NOTIFY_COMMIT_ACCESS_CONTROL=disabled.

Jenkins 빌드 설정

  1. Jenkins에서 새 항목을 만듭니다.

    Jenkins의 새 항목 링크를 보여 주는 스크린샷

  2. 프로젝트에 적합한 빌드 유형을 선택합니다.

    Jenkins의 빌드 이름 및 형식을 보여 주는 스크린샷.

  3. Git 리포지토리의 URL을 입력합니다.

    Git이 선택된 Jenkins의 소스 코드 관리 설정을 보여 주는 스크린샷

Jenkins 서비스 후크 설정

  1. Azure DevOps 프로젝트에서 프로젝트 설정>서비스 후크https://<organization-name>/<project-name>/_settings/serviceHooks이동합니다.

    프로젝트 설정의 서비스 후크 선택 스크린샷

  2. 서비스 후크 페이지에서 아이콘 또는 구독 만들기를 + 선택합니다.

    서비스 후크 페이지에서 구독 만들기를 선택하는 스크린샷

  3. 서비스 화면에서 Jenkins를 선택한 다음, 다음을 선택합니다.

    서비스 페이지에서 Jenkins를 선택하는 스크린샷

  4. 트리거 화면에서 Jenkins 빌드를 트리거하려는 Azure DevOps 이벤트를 선택하고 구성한 다음, 다음을 선택합니다.

    트리거 이벤트를 선택하고 구성하는 스크린샷

  5. 작업 화면에서 이벤트가 발생할 때 수행할 Jenkins 작업을 구성합니다.

  6. 테스트를 선택하여 서비스 후크를 테스트하고 마침을 선택하여 구성을 완료합니다.

이제 Git 리포지토리에서 이벤트가 발생하면 Jenkins 빌드가 트리거됩니다.

REST API를 사용하여 프로그래밍 방식으로 서비스 후크 구독을 만들 수도 있습니다. 자세한 내용은 프로그래밍 방식으로 서비스 후크 구독 만들기를 참조 하세요.