본문 바로가기
Study/Jenkins

Jenkins 원격 빌드 하기 - cURL 사용해보기

by Zeromk2 2021. 5. 20.
728x90

하나의 Jenkins 내에서 다른 Job을 이어서 진행하게 하는 방법은

빌드 후 조치에서 다른 빌드 실행으로 간단하게 할 수 있지만 다른 Jenkins의 Job을 실행할 때는 방법이 조금 다릅니다.

이 때는 원격빌드 (리모트 빌드) 를 해야 하는데요 이번에는 이 방법을 알아보겠습니다.

 

A Jenkins에서 B Jenkins의 'RUNNING_JOB' 이라는 이름의 Job을 실행한다고 가정하겠습니다.

 

일단 첫번째로 B Jenkin의 RUNNING_JOB 화면 구성으로 이동하여 

빌드 유발 부분의 '빌드를 원격으로 유발' 을 체크합시다.

그리고 Authentication Token을 임의의 문자로 입력해주세요. 저는 AppDownload로 하겠습니다.

후에 저 이름으로 실행을 하게 되니 편한 단어로 잘 선정해주세요~

 

그리고 계속해서 B Jenkins의 홈 화면으로 이동한 뒤 

Jenkins 관리 - Manage Users 로 이동해주세요.

그리고 사용자 우측에 있는 톱니바퀴 아이콘을 클릭해주세요

 

저는 토큰을 이미 발급 받았기 때문에 이 화면이지만 처음이신분은 Token 발급받기 버튼이 있을거에요

 

그리고 API Token 항목에서 Token을 발급받아 잘 저장해 놓습니다.

이제 B Jenkins에서 할 일은 끝났습니다~

 

A Jenkins로 이동해서 B Jenkins를 원격 빌드 할 Job을 하나 생성합니다.

Build 부분에 Execute shell 작성란을 생성합니다.

Command에 이렇게 입력합니다.

curl -X post 'http://{B Jenkins계정이름}:{B Jenkins API Token}@{B Jenkins 주소}/job/RUNNING_JOB/buildWithParameters?token=AppDownload

 

만약 파라미터가 필요하다면 뒤에 '&' 을 추가하여 파라미터 값을 추가하시면 됩니다.

curl -X post 'http://{B Jenkins계정이름}:{B Jenkins API Token}@{B Jenkins 주소}/job/RUNNING_JOB/buildWithParameters?token=AppDownload&{파라미터명}={파라미터값}

 

그리고 해당 Job을 실행하면 B Jenkins의 RUNNING_JOB이 실행되는 것을 볼 수 있습니다.

댓글