macOS에서 개발 환경에서 Jenkins 실행 방법
이 문서는 로컬 머신에 Jenkins를 설정하고 GitLab 인스턴스에서 이를 연결하는 방법에 대한 단계별 가이드입니다. GitLab은 Jenkins에서 웹훅을 트리거하고, Jenkins는 API를 사용하여 GitLab에 연결합니다. 두 애플리케이션을 동일한 머신에서 실행함으로써 서로에 접근할 수 있도록 할 수 있습니다.
기존 Jenkins 통합을 구성하려면 Jenkins CI 서비스를 읽어보세요.
Jenkins 설치
Homebrew를 사용하여 Jenkins를 설치하고 서비스를 시작합니다.
brew install jenkins
brew services start jenkins
GitLab 구성
GitLab은 기본적으로 로컬호스트 또는 로컬 네트워크에 대한 요청을 허용하지 않습니다. 로컬 머신에서 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 인스턴스에 로그인합니다.
- 프로필 사진을 선택한 다음 Settings를 선택합니다.
- Access tokens를 선택합니다.
- API 범위가 활성화된 새 접근 토큰을 생성합니다. 토큰의 값을 기록해 두세요.
Jenkins 구성
Jenkins에서 GitLab API 연결을 구성하려면 Jenkins 서버 구성을 읽으세요.
Jenkins 프로젝트 구성
빌드를 실행할 Jenkins 프로젝트를 설정하려면 Jenkins 프로젝트 구성을 읽으세요.
GitLab 프로젝트 구성
Jenkins와 GitLab 간의 통합을 구성할 수 있습니다:
- Jenkins 통합을 위한 권장 접근 방식으로.
- 웹훅 사용으로.
설정 테스트
저장소에서 변경 사항을 만들고 MR을 엽니다. Jenkins 프로젝트에서 새로운 빌드가 트리거되었어야 하며, MR에는 Pipeline #NUMBER passed라는 위젯이 있어야 합니다. 또한 Jenkins 빌드에 대한 링크도 포함되어야 합니다.