
jenkins ci pipeline에는 적지 않은 stage가 존재하고 있다.
agent 노드를 생성하여 api test(mock)과 checkstyle(코드 표준)
테스트를 동시에 진행하려고 한다.
https://cloudinfrastructure.tistory.com/456
jenkins agent 사용하기
Manage -> Nodes로 이동 New Node 클릭 에이전트의 이름을 작성해 주고 나서 필요한 설정들을 해준다. JNLP 방식을 사용할 것이기 때문에 Launch method를 위와 같이 생성해 주었다. curl -sO http://:8080/jnlpJars/ag
cloudinfrastructure.tistory.com
젠킨스 노드 생성하는 법

에이전트로 사용할 이미지를 생성하고

agent1을 위와 같이 실행
(agent2는 실행시 입력하는 환경변수의 값만
다르게 하여 실행)

마스터 jenksin에서 agent1과 agent2에 모두
정상적으로 연결이 되었다.

에이전트로 사용하는 컨테이너의 이미지는 jdk21을 사용하고 있다.

내 프로젝트는 gradle-7.6.4, java11을 사용하고 있기 때문에
이미지를 build할때 gradle-7.6.4와 jdk11을 모두
이미지로 COPY하여서 포함시켰다.
그리고 파이프라인에서는 위와 같이 shell에서 설정 및
JAVA_HOME의 경로를 새로 설정

JAVA_HOME의 경로는 정상적으로
업데이트가 되었는데 gradle 명령어 실행시에는 에러가 발생한다.
(GRADLE_HOME/bin/gradle 파일에서 명시적으로
JAVA_HOME의 위치를 설정했을때도
정상 실행이 되지 않았다.)
가능한 선택지
1. java의 버전을 업그레이드
2. gradle의 버전을 업그레이드
첫번째 옵션을 선택했을때 프로젝트 소스코드의
수정이 필요하기 때문에 패스
두번째 옵션은 gradle버전이 jdk21에서 실행이 가능하고
빌드할때는 jdk11을 사용할수 있으면 가능

gradle8.x가 위와같이 jdk11과 21을 모두 지원한다고 하여
gradle을 8버전대로 업그레이드 진행

로컬에 있는 원본 프로젝트에서 gradle-8.6으로 테스트를
진행했을때 정상적으로 테스트가 완료

agent에 등록된 tool의 경로도 수정

그래도 문제가 계속 발생하여 다시 확인해 보니
agnet의 tool에 설정해 놓았던
JAVA_HOME의 경로의 문제라고 한다.

agent1의 JAVA_HOME의 경로를 이미지에서 사용하는
jdk가 있는 경로로 수정

gradle 명령어가 정상적으로 실행이 된다.
https://www.jenkins.io/blog/2017/09/25/declarative-1/
Parallel stages with Declarative Pipeline 1.2
Jenkins – an open source automation server which enables developers around the world to reliably build, test, and deploy their software
www.jenkins.io
'ops > jenkins' 카테고리의 다른 글
| jenkins 에이전트에서 여러 stage를 병렬 처리하기 - 2 (0) | 2025.11.21 |
|---|---|
| jenkins agent 사용하기 (0) | 2025.11.20 |
| JNLP를 사용하여 젠킨스 에이전트에서 젠킨스 마스터에 연결하기 (0) | 2025.11.19 |
| jenkins 파이프 라인으로 job실행시 환경변수를 찾지 못하는 문제 (0) | 2025.11.12 |
| jenkins cli로 job 생성하기 (0) | 2025.11.10 |