프로젝트 Mook 을 개발 및 배포하는 과정을 정리하는 글입니다.
https://start.spring.io/ 에서 Spring 프로젝트 생성
Gradle-Groovy / Java / 3.3.4
GroupId : org.teamMook
Artifact : mook
JAR / Java17
Dependency
아이템을 생성하는 여러 방법들 중 Pipeline 사용
위와 같은 장점들이 있어 선택

name : mook
Pipeline 선택 후 OK
스크립트를 작성하는 방법은 2가지
1. Pipeline Script : Jenkins 웹에서 작성
2. Pipeline Script from SCM : 프로젝트 내부에서 작성
문법은 2가지
1. Declarative Pipeline : 최상단에 pipeline 이라 적혀있음, 작성 쉬움, Groovy 문법 기반
2. Scripted Pipeline : 최상단에 node 라 적혀있음, 기능 많지만 상대적으로 어려움, Groovy 문법 기반

매우 소규모 프로젝트 상태인데도 5분을 넘어가는 상황 발생

-> Swap 메모리 추가로 해결했습니다.
* What went wrong:
Could not determine the dependencies of task ':bootJar'.
> Could not resolve all dependencies for configuration ':runtimeClasspath'.
> Failed to calculate the value of task ':compileJava' property 'javaCompiler'.
> Cannot find a Java installation on your machine matching this tasks requirements: {languageVersion=17, vendor=any vendor, implementation=vendor-specific} for LINUX on x86_64.
> No locally installed toolchains match and toolchain download repositories have not been configured.
사실 이 문제를 해결하는 데 굉장히 오래 걸렸다..
서칭, chatGPT 등 여러 정보를 보고
1. 환경 변수 설정
2. 벤더 설정 추가
3. 실행 명령어 변경
4. grdle.properties 파일에 설정 추가
5. jenkins 내부 설정 변경
등등.. 여러 방법을 써도 해결을 못했다. (실제로 실패를 30번정도 한 것 같다..)
결국 해결은 공식문서를 보고 해결했다.
Gradle 8.10.2에서 툴체인을 자동으로 감지해주는 Foojay Toolchains Resolver 를 사용하기 위해 settings.gradle에
plugins {
id 'org.gradle.toolchains.foojay-resolver-convention' version '0.8.0'
}
을 추가하고 빌드해보았다.

드디어 해결했다..
공식문서가 아닌 서칭이나 chatGPT부터 확인하는 안 좋은 습관은 고쳐야겠다고 생각했다.
역시.. 공식문서가 최우선인 것 같다.
사람 한 명 살렸습니다 감사합니다:)