개발 환경에서 Jenkins 실행하는 방법 (macOS)
GitLab v19.1이 문서는 로컬 머신에 Jenkins를 설치하고 GitLab 인스턴스에서 연결하는 방법을 단계별로 안내합니다. 기존 Jenkins 통합 구성에 대한 자세한 내용은 Jenkins CI 서비스를 참고하세요. Homebrew를 사용하여 Jenkins를 설치하고 서비스를 시작합니다.
이 문서는 로컬 머신에 Jenkins를 설치하고 GitLab 인스턴스에서 연결하는 방법을 단계별로 안내합니다. GitLab은 Jenkins에 웹훅을 트리거하고, Jenkins는 API를 사용하여 GitLab에 연결합니다. 두 애플리케이션을 동일한 머신에서 실행하면 서로 접근할 수 있는지 확인할 수 있습니다.
기존 Jenkins 통합 구성에 대한 자세한 내용은 Jenkins CI 서비스를 참고하세요.
Jenkins 설치#
Homebrew를 사용하여 Jenkins를 설치하고 서비스를 시작합니다.
brew install jenkins
brew services start jenkins
GitLab 구성#
GitLab은 기본적으로 localhost 또는 로컬 네트워크에 대한 요청을 허용하지 않습니다. 로컬 머신에서 Jenkins를 실행할 때는 로컬 접근을 활성화해야 합니다.
-
관리자로 GitLab 인스턴스에 로그인합니다.
-
오른쪽 상단 모서리에서 Admin을 선택합니다.
-
왼쪽 사이드바에서 Settings > Network를 선택합니다.
-
Outbound requests를 펼치고 다음 체크박스를 선택합니다:
Allow requests to the local network from webhooks and integrations
-
Allow requests to the local network from system hooks
GitLab 웹훅에 대한 자세한 내용은 웹훅 및 보안되지 않은 내부 웹 서비스를 참고하세요.
Jenkins는 GitLab API를 사용하며 액세스 토큰이 필요합니다.
-
GitLab 인스턴스에 로그인합니다.
-
오른쪽 상단 모서리에서 아바타를 선택합니다.
-
Edit profile을 선택합니다.
-
왼쪽 사이드바에서 Access > Personal access tokens를 선택합니다.
-
API 범위가 활성화된 새 액세스 토큰을 생성합니다. 토큰 값을 기록해 둡니다.
Jenkins 구성#
Jenkins에서 GitLab API 연결을 구성하는 방법은 Jenkins 서버 구성을 참고하세요.
Jenkins 프로젝트 구성#
빌드를 실행할 Jenkins 프로젝트를 설정하는 방법은 Jenkins 프로젝트 구성을 참고하세요.
GitLab 프로젝트 구성#
Jenkins와 GitLab 간의 통합을 구성할 수 있습니다:
-
Jenkins 통합 권장 방식을 사용합니다.
설정 테스트#
리포지터리에서 변경 내용을 적용하고 머지 리퀘스트를 엽니다. Jenkins 프로젝트에서 새 빌드가 트리거되었는지 확인하고, 머지 리퀘스트에 Pipeline #NUMBER passed라는 위젯이 표시되어야 합니다. 또한 Jenkins 빌드 링크도 포함되어야 합니다.