Theme:

Jenkins 파이프라인에서 mvn clean package를 실행하려면 Jenkins 서버에 Maven이 설치되어 있어야 합니다. 어디에 설치하고 어떻게 연동할까요?

Maven 은 Java 프로젝트의 빌드, 의존성 관리, 패키징을 담당하는 빌드 도구입니다. Jenkins에서 Maven을 사용하려면 서버에 Maven을 설치한 뒤, Jenkins의 Global Tool Configuration에 경로를 등록해야 합니다.

Maven 설치

1. 설치 여부 확인

BASH
mvn --version

이미 설치되어 있다면 버전 정보가 출력됩니다. 설치되어 있지 않은 경우 아래 절차를 따릅니다.

2. Maven 다운로드 및 설치

BASH
# 다운로드
wget https://archive.apache.org/dist/maven/maven-3/3.9.9/binaries/apache-maven-3.9.9-bin.tar.gz

# /opt 디렉토리에 압축 해제
sudo tar -xvf apache-maven-3.9.9-bin.tar.gz -C /opt

# 심볼릭 링크 생성 (버전 업그레이드 시 링크만 변경하면 됨)
sudo ln -s /opt/apache-maven-3.9.9 /opt/maven

3. 환경 변수 설정

/etc/profile.d/maven.sh 파일을 생성하여 시스템 전체에서 Maven을 사용할 수 있도록 설정합니다.

BASH
sudo vi /etc/profile.d/maven.sh
BASH
export JAVA_HOME=/app/jdk-17        # JDK 설치 경로
export M2_HOME=/opt/maven
export MAVEN_HOME=/opt/maven
export PATH=${M2_HOME}/bin:${PATH}
BASH
# 실행 권한 부여 및 적용
sudo chmod +x /etc/profile.d/maven.sh
source /etc/profile.d/maven.sh

4. 설치 확인

BASH
mvn --version

정상 설치 시 아래와 같이 출력됩니다.

PLAINTEXT
Apache Maven 3.9.9
Maven home: /opt/maven
Java version: 17.0.x, vendor: Oracle Corporation

Jenkins에서 Maven 설정

Maven Configuration (settings.xml 경로)

Jenkins가 Maven 빌드 시 사용할 settings.xml 파일 경로를 지정합니다.

  1. Manage Jenkins > Tools > Maven Configuration 이동
  2. 설정 방식 선택:
설정 방식설명
Use Default SettingsMaven 기본 settings.xml 사용
Settings file in filesystem커스텀 settings.xml 경로 직접 지정

Settings file in filesystem 선택 시 File Path에 아래와 같이 입력합니다.

PLAINTEXT
/opt/maven/conf/settings.xml

Nexus와 같은 사설 리포지토리를 사용하는 경우, settings.xml에 인증 정보를 추가해야 합니다. 자세한 내용은 Nexus 설정 포스트를 참고하세요.

Maven installations (Maven 실행 경로)

Jenkins가 빌드 시 사용할 Maven 실행 파일 경로를 등록합니다.

  1. Manage Jenkins > Tools > Maven installations 이동
  2. Add Maven 클릭
  3. 아래 항목 입력:
항목설명예시
NameJenkins 내에서 사용할 별칭Maven3
MAVEN_HOMEMaven 설치 경로/opt/maven
  1. Save 클릭

트러블슈팅

증상원인해결 방법
mvn: command not found환경 변수 미적용source /etc/profile.d/maven.sh 실행
Jenkins 빌드에서 Maven을 찾지 못함Maven installations 미등록Jenkins Tools에서 Maven 경로 등록
의존성 다운로드 실패settings.xml 미설정 또는 네트워크 문제Maven Configuration에서 settings.xml 경로 확인

주의할 점

심볼릭 링크 미사용

Maven을 /opt/apache-maven-3.9.9에 직접 설치하고 이 경로를 Jenkins에 등록하면, 버전 업그레이드 시 Jenkins 설정도 함께 변경해야 합니다. /opt/maven으로 심볼릭 링크를 만들어두면 링크만 변경하면 됩니다.

Jenkins 서비스 계정과 환경 변수

/etc/profile.d/maven.sh에 환경 변수를 설정해도 Jenkins 서비스(systemd)에서는 적용되지 않을 수 있습니다. Jenkins는 별도 프로세스로 실행되므로, Maven installations에 절대 경로를 직접 등록하는 것이 확실합니다.


정리

항목설명
Maven 설치 경로/opt/maven (심볼릭 링크 권장)
환경 변수/etc/profile.d/maven.shM2_HOME, PATH 설정
Jenkins settings.xmlManage Jenkins > Tools > Maven Configuration
Jenkins Maven 경로Manage Jenkins > Tools > Maven installations
Nexus 연동 시settings.xml에 인증 정보 추가 필요
댓글 로딩 중...