[Jenkins] 외부에서 Jenkins 호출하기
들어가며
Jenkins를 이용해서 간단한 DevOps 환경을 구성하다 보면, 권한을 부여해서 컨트롤 할 수 도 있지만, 시스템 자동화를 위해서 외부에서 API를 이용해서 Jenkins를 호출 해야 하는 상황이 발생하기 도 합니다.
간편하게 Plug In을 설치하면, 외부에서 Jenkins를 호출 할 수 있습니다.
01 Jenkins 플러그인 설치
외부에서 Jenkins 를 호출하기 위해서는 먼저, Build Authorization Token Root Plugin 을 설치해야 합니다.
Jenkins 관리 > 플러그인 관리 메뉴에 들어가서, Available Plugins 를 선택해서
"Build Authorization Token Root" 해당 플러그인을 검색해서 설치 해 줍니다.
02 빌드 유발 수정
플러그인 설치가 준비가 되었다면, 외부에서 호출을 하려는 프로젝트 관리메뉴에 접속합니다.
중간에 위치한 빌드 유발 설정 부분에 "빌드를 원격으로 유발" 을 선택해주고,
Authentication Token 을 작성해 줍니다.
그러면서, 원격 빌드 유발에 Sample URL 이 명시가 되어 있는데요.
예를 들면 아래와 같은 형태입니다. <> 괄호안에 내용은 각 프로젝트에 맞게 변경되어야 합니다.
http://<JENKINS_URL>/job/<PROJECT_NAME>/build?token=<TOKEN_NAME>
03 외부에서 호출시 로그인 화면 출력
원격환경에서 URL을 호출하게 되면, 위와 같이 로그인 화면이 출력되어, 원하는 Jenkins가 정상적으로 호출 되지 않는데요.
https://plugins.jenkins.io/build-token-root/
해당 플러그인 사이트에 방문하게 되면, URL 형식이 다르다는 것을 알 수 있습니다.
04 호출 URL 변경
http://<JENKINS_URL>/buildByToken/build?job=<PROJECT_NAME>&token=<TOKEN_NAME>
호출하는 URL을 Build Authorization Token Root 에서 제공하는 방식으로 변경했더니, 별도의 로그인 없이도 Jenkins를 외부에서 호출 할 수 있었습니다.
참조
https://plugins.jenkins.io/build-token-root/
END
'CI' 카테고리의 다른 글
[Jenkins] 젠킨스 Agent 노드 추가 및 설정 방법 (1) | 2023.05.23 |
---|---|
[Jenkins] Jenkins 복구 후, git cloning remote repo 'origin' 오류 해결 (0) | 2023.05.02 |
[Jenkins] 매개변수를 이용한 Git Tag 빌드 (0) | 2023.01.11 |
[Jenkins] Git Branch 매개변수를 이용한 빌드 (0) | 2020.07.14 |
[Jenkins] 파워쉘을 이용해서 git log 관리하기 (0) | 2020.07.02 |