서비스를 운영하다보면 간혹 해당 서비스 코드에서 직접 Jenkins의 Task Item을 실행하고 싶을 때가 있다.
어쩌다 한번 콜 하는 형태라 이를 위해 뭔가 막 만들기도 그렇고 해서 난감한 경우가 있는데..여튼.. 그냥 자료 찾아보고 대충 만들어 보자.
음... HTTPS 무시하는게 좀 뜬금이였음. ( HttpClient 4.5 + )
라이브러리로 사용하기
https://github.com/cdancy/jenkins-rest
https://github.com/jenkinsci/java-client-api
직접 구현하기
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. 코드 작성
6. Test 실행.
https://github.com/KimHyeongi/KotlinSpringboot-Tips