macOS에서 개발 환경에서 Jenkins 실행하는 방법

로컬 머신에 Jenkins를 설정하고 GitLab 인스턴스에서 연결하는 단계별 안내서입니다. GitLab은 Jenkins에서 웹훅을 트리거하고, Jenkins는 GitLab과 API를 사용하여 연결합니다. 두 애플리케이션을 동일한 머신에서 실행함으로써 서로 접근할 수 있는지 확인할 수 있습니다.

기존의 Jenkins 통합을 구성하는 방법은 Jenkins CI service를 참조하십시오.

Jenkins 설치

Homebrew를 사용하여 Jenkins를 설치하고 서비스를 시작합니다.

brew install jenkins
brew services start jenkins

GitLab 구성

기본적으로 GitLab은 로컬호스트 또는 로컬 네트워크로의 요청을 허용하지 않습니다. 로컬 머신에서 Jenkins를 실행할 때 로컬 액세스를 허용해야 합니다.

  1. 관리자로 GitLab 인스턴스에 로그인합니다.
  2. 왼쪽 사이드바에서 맨 아래에서 관리 영역 을 선택합니다.
  3. 설정 > 네트워크 를 선택합니다.
  4. 아웃바운드 요청 을 확장하고 다음 확인란을 선택합니다:

    • 웹훅 및 통합에서 로컬 네트워크로의 요청 허용
    • 시스템 후크에서 로컬 네트워크로의 요청 허용

GitLab 웹훅에 대한 자세한 내용은 웹훅 및 보안 취약한 내부 웹서비스를 참조하십시오.

Jenkins는 GitLab API를 사용하며 액세스 토큰이 필요합니다.

  1. GitLab 인스턴스에 로그인합니다.
  2. 프로필 사진을 선택한 다음 설정 을 선택합니다.
  3. 액세스 토큰 을 선택합니다.
  4. API 스코프가 활성화된 새로운 액세스 토큰을 생성합니다. 토큰의 값을 기록합니다.

Jenkins 구성

Jenkins에서 GitLab API 연결을 구성하려면 Jenkins 서버 구성을 참조하십시오.

Jenkins 프로젝트 구성

빌드를 실행할 Jenkins 프로젝트를 설정하려면 Jenkins 프로젝트 구성을 참조하십시오.

GitLab 프로젝트 구성

Jenkins와 GitLab 간의 통합을 구성할 수 있습니다:

설정 테스트

저장소에서 변경을 만들고 MR을 여십시오. Jenkins 프로젝트에서 새로운 빌드를 트리거했어야 하며 MR에서는 파이프라인 #번호 통과 라는 위젯이 표시되어야 합니다. Jenkins 빌드로 연결되는 링크도 포함되어 있어야 합니다.