본문 바로가기

Programming!

Jenkins Remote API Trigger 간단하게 만들어보기.

서비스를 운영하다보면 간혹 해당 서비스 코드에서 직접 Jenkins의 Task Item을 실행하고 싶을 때가 있다.

 

어쩌다 한번 콜 하는 형태라 이를 위해 뭔가 막 만들기도 그렇고 해서 난감한 경우가 있는데..여튼.. 그냥 자료 찾아보고 대충 만들어 보자.

음... HTTPS 무시하는게 좀 뜬금이였음. ( HttpClient 4.5 + )

라이브러리로 사용하기

https://github.com/cdancy/jenkins-rest

 

GitHub - cdancy/jenkins-rest: Java client, built on top of jclouds, for working with Jenkins REST API

Java client, built on top of jclouds, for working with Jenkins REST API - GitHub - cdancy/jenkins-rest: Java client, built on top of jclouds, for working with Jenkins REST API

github.com

https://github.com/jenkinsci/java-client-api

 

GitHub - jenkinsci/java-client-api: A Jenkins API client for Java

A Jenkins API client for Java. Contribute to jenkinsci/java-client-api development by creating an account on GitHub.

github.com

 

직접 구현하기

1. 계정 Token 생성하기.

  • Jenkins 본인계정 -> 설정으로 이동.
  • 원하는 이름으로 API Token 생성. 
  • 생성된 Token 저장.( 이름은 쓸모 없음. )

2. 실행할 Task Item 생성

3. 생성된 Task Item의 Token 생성

  • 실행할 Task Item → 구성으로 이동.
  • 빌드를 원격으로 유발 - 체크
  • Authentication Token 등록\

4. application.yml 설정추가

jenkins:
  api:
    server:
      url: my-batch.eclipse4j.tistory.com
      user: { 로그인 계정 이름 }
      user-token: { 계정에서 생성된 Token }
      scheme: https
      port: 443
      baseurl: https://my-batch.eclipse4j.tistory.com

5. 코드 작성

https://github.com/KimHyeongi/KotlinSpringboot-Tips/blob/main/tip-domain-api/src/main/kotlin/com/tistory/eclipse4j/kotlin/web/client/jenkins/JenkinsTrigger.kt

 

KimHyeongi/KotlinSpringboot-Tips

Contribute to KimHyeongi/KotlinSpringboot-Tips development by creating an account on GitHub.

github.com

6. Test 실행.

https://github.com/KimHyeongi/KotlinSpringboot-Tips/blob/main/tip-domain-api/src/test/kotlin/com/tistory/eclipse4j/kotlin/web/client/jenkins/JenkinsTriggerTest.kt

 

KimHyeongi/KotlinSpringboot-Tips

Contribute to KimHyeongi/KotlinSpringboot-Tips development by creating an account on GitHub.

github.com

https://github.com/KimHyeongi/KotlinSpringboot-Tips

 

KimHyeongi/KotlinSpringboot-Tips

Contribute to KimHyeongi/KotlinSpringboot-Tips development by creating an account on GitHub.

github.com