2022. 12. 5. 09:21ㆍ백엔드/Jenkins
기본 명령어
command | desc |
compile | 컴파일 수행 |
test | 컴파일 수행 후 테스트 클래스 수행 |
package | 컴파일을 수행하고 컴파일한 소스를 packaging 양식(war or jar)에 맞춰 프로젝트 내 지정한 경로(eg.target) 디렉토리에 생성 |
install | package 한것에 추가적으로 로컬 repository에 배포한다. |
deploy | install 한것에 추가적으로 원격 repository(nexus)에 배포한다. |
clean | maven build 시 생성된 모든 것들을 삭제한다. |
옵션
option | desc |
-am,--also-make | 프로젝트 목록이 지정된 경우 목록에 필요한 프로젝트도 빌드하십시오. |
-amd,--also-make-dependents | 프로젝트 목록이 지정된 경우 목록의 프로젝트에 의존하는 프로젝트도 빌드하십시오. |
-B,--batch-mode | 비 대화식 (일괄 처리) 모드에서 실행 (출력 색상 비활성화) |
-b,--builder | 사용할 빌드 전략의 ID |
-C,--strict-checksums | 체크섬이 일치하지 않으면 빌드 실패 |
-c,--lax-checksums | 체크섬이 일치하지 않으면 경고 |
-cpu,--check-plugin-updates | 비효율적이며 이전 버전과의 호환성을 위해서만 유지 |
-D,--define | 시스템 속성 정의 |
-e,--errors | 실행 오류 메시지 생성 |
-emp,--encrypt-master-password | 마스터 보안 비밀번호 암호화 |
-ep,--encrypt-password | 서버 비밀번호 암호화 |
-f,--file | 대체 POM 파일 (또는 pom.xml이있는 디렉토리)을 사용하도록합니다. |
-fae,--fail-at-end | 이후에는 빌드에 실패합니다. 영향을받지 않은 모든 빌드가 계속되도록 허용 |
-ff,--fail-fast | 원자로 빌드에서 처음 실패시 중지 |
-fn,--fail-never | 프로젝트 결과에 관계없이 빌드에 실패하지 마십시오. |
-gs,--global-settings | 글로벌 설정 파일의 대체 경로 |
-gt,--global-toolchains | 글로벌 툴체인 파일의 대체 경로 |
-h,--help | 도움말 정보 표시 |
-l,--log-file | 모든 빌드 출력이 진행되는 로그 파일 (출력 색상 비활성화) |
-llr,--legacy-local-repository | Maven 2 레거시 로컬 리포지토리 동작, 즉 _remote.repositories를 사용하지 마십시오. -Dmaven.legacyLocalRepo = true를 사용하여 활성화 할 수도 있습니다. |
-N,--non-recursive | 하위 프로젝트로 재귀하지 마십시오 |
-npr,--no-plugin-registry | 비효율적이며 이전 버전과의 호환성을 위해서만 유지 |
-npu,--no-plugin-updates | 비효율적이며 이전 버전과의 호환성을 위해서만 유지 |
-nsu,--no-snapshot-updates | SNAPSHOT 업데이트 억제 |
-ntp,--no-transfer-progress | 다운로드 또는 업로드시 전송 진행률을 표시하지 않습니다 |
-o,--offline | 오프라인으로 작업 |
-P,--activate-profiles | 활성화 할 쉼표로 구분 된 프로파일 목록 |
-pl,--projects | 모든 프로젝트 대신 빌드 할 지정된 원자로 프로젝트의 쉼표로 구분 된 목록입니다. [groupId] : artifactId 또는 상대 경로로 프로젝트를 지정할 수 있습니다. |
-q,--quiet | 조용한 출력-오류 만 표시 |
-rf,--resume-from | 지정된 프로젝트에서 원자로 재개 |
-s,--settings | 사용자 설정 파일의 대체 경로 |
-t,--toolchains | 사용자 툴체인 파일의 대체 경로 |
-T,--threads | 스레드 수 (예 : C에 코어를 곱한 2.0C) |
-U,--update-snapshots | 원격 리포지토리에서 누락 된 릴리스 및 업데이트 된 스냅 샷을 검사합니다. |
-up,--update-plugins | 비효율적이며 이전 버전과의 호환성을 위해서만 유지 |
-v,--version | 버전 정보 표시 |
-V,--show-version | 빌드를 중단하지 않고 버전 정보 표시 |
-X,--debug | 실행 디버그 출력 생성 |
mvn compile
- 컴파일 수행
- 컴파일 된 결과는 target/classes에 생성된다.
mvn test
- 테스트 클래스 실행
- 테스트 코드를 컴파일한 뒤 테스트 코드를 실행한다.
- 테스트 클래스들은 target/test-classes 디렉터리에 생성된다.
- 테스트 결과 리포트는 target/surefire-reports에 생성된다.
mvn package
- 컴파일된 결과물을 패키지 파일로 생성
- 컴파일, 테스트, 빌드를 수행하여 패키지 파일을 생성한다.
- 프로텍트 이름, 버전, 패키징 옵션에 맞게 파일이 생성된다.
- pom에서 아래와 같이 설정하면 결과 파일은 donggov-1.0-SNAPSHOT.war 로 생성된다.
<artifactId>donggov</artifactId> <version>1.0-SNAPSHOT</version> <packaging>war</packaging> |
mvn install
- 패키징한 파일을 로컬 저장소에 배포
mvn deploy
- 패키징한 파일을 원격 저장소에 배포 (nexus 혹은 maven central 저장소)
mvn clean
- 메이븐 빌드를 통하여 생성된 모든 산출물을 삭제한다.
자주사용하는 옵션
1) -Dmaven.test.skip=true
. 테스트를 건너뛴다.
. 예) mvn package -Dmaven.test.skip=true : 테스트를 건너뛰고 패키징 수행
2) mvn -P[profile명] [goals]
. 환경에 따라 다르게 설정을 관리할 수 있는 기능아다. profile(프로파일)이라고 부름.
. pom에서 설정할수 있다.
. 예) mvn -Pdevelopment -Dmaven.test.skip=true package
: development라고 정의한 profile 설정으로 테스트를 건너뛰고 패키징 수행
mvn clean package -Dmaven.test.skip=true
이런 식으로 mvn 명령어 옵션 형식으로 사용하면 된다.
출처:
https://oingdaddy.tistory.com/56
https://donggov.tistory.com/21
'백엔드 > Jenkins' 카테고리의 다른 글
젠킨스 기본 view ( All ) 바꾸기 (0) | 2022.12.20 |
---|---|
Jenkins Gitlab 연동 (0) | 2022.12.15 |
내부망 또는 폐쇄망에서 Jenkins 배포 시 체크사항 (0) | 2022.12.15 |
view 안에 view 만들기 (0) | 2022.12.12 |
젠킨스란? (0) | 2022.11.22 |