Programing

Jenkins와 Maven의 차이점

lottogame 2020. 12. 8. 07:39
반응형

Jenkins와 Maven의 차이점


Maven과 Jenkins의 차이점은 무엇입니까?

둘 다 자동화 된 빌드와 JUnit의 자동화 된 실행을 지원합니다.

그렇다면 무료입니까, 아니면 상호 배타적입니까? 언제 하나를 다른 것보다 사용해야합니까?


Maven은 도구 / 환경을 구축하고 있습니다. Jenkins는 CI (지속적 통합) 도구입니다.

Maven은 Ant를 대체하는 것과 비슷합니다.

  1. 플러그인 ( 예 : 빌드 및 버전 제어, JUnit 테스트 등)을 통해 프로젝트 빌드 를 지원합니다 .
  2. 프로젝트의 종속성관리합니다 . 프로젝트를 빌드 (플러그인)하는 방법과 필요한 라이브러리 (종속성)를 pom.xml 파일에 정의합니다.

Jenkins는 스마트 작업 스케줄러로서 버전 제어 또는 JUnit 테스트와 같은 작업을 지원할 수 없지만 프로젝트의 pom.xml 파일을 호출하여 간접적으로이 모든 작업을 지원할 수 있습니다. 그리고 Jenkins는 호출 할 조건과 결과에 대해 수행 할 작업을 기반으로 pom.xml 파일을 호출 할시기를 결정할 수있는 권한을 제공합니다. Jenkins는 svn commit, 현재 시간이 자정 등 다양한 이벤트를 수신 할 수 있습니다.

이것은 강력한 아이디어입니다. 예를 들어 Jenkins에게 새 코드가 커밋 될 때마다 빌드를 트리거하거나 모든 JUnit 테스트를 실행하도록 요청한 다음 단위 테스트가 통과되면 대상 머신에 배포합니다. 또는 자정에 무거운 작업을 예약합니다 (예 : 단위 테스트). 이것이 자동 배포 또는 AKA 지속적 통합의 기본 아이디어입니다. 원하는 경우 약자로 CI.


Maven은 종속성 및 애플리케이션 수명주기를 관리하는 빌드 도구입니다. 또한 표준 컴파일 / 테스트 / 패키지 / 설치 / 배포 작업에 다른 작업을 추가 할 수있는 플러그인 디자인이 있습니다.

Jenkins는 리포지토리에서 코드를 확인하고 빌드 및 패키징 한 다음 테스트 할 수 있도록 서버에 덤프하는 연속 통합 제품군입니다. Maven 또는 Ant를 빌드 도구로 사용할 수 있습니다.

요약하면 Jenkins는 지속적 통합을위한 빌드 도구로 Maven을 사용할 수 있습니다. CI를 수행하지 않기로 선택한 경우 Jenkins없이 Maven을 사용할 수 있습니다.


Jenkins Maven 플러그인 위키 페이지 의 첫 번째 단락은 Jenkins와 Maven 간의 상호 작용을 설명합니다.

"Jenkins 작업 관리는 작업이 많을 때, 특히 특정 매개 변수가 여러 작업간에 동일해야하는 경우 쉽지 않습니다."jenkins-maven-plugin "을 사용하면 간단한 작업에서 작업 당 하나의"config.xml "인 Jenkins 작업을 생성 할 수 있습니다. Maven POM. 이렇게하면 모든 Jenkins 작업을 한곳에서 제어 할 수 있으며 그 사이의 구성을 얼마든지 재사용 할 수 있습니다. "


Maven은 빌드 도구로, 간단히 말해서 ant의 후속 제품입니다. 빌드 및 버전 제어에 도움이됩니다.

그러나 Jenkins는 Maven에서 빌드에 사용되는 지속적인 통합 시스템입니다. Jenkins를 사용하여 배포 프로세스를 자동화 할 수 있습니다. 새 코드가 커밋 될 때마다 모든 Junit 테스트 사례를 자동으로 실행하고 통과하면 프로젝트를 특정 위치에 패키징하고 배포합니다.

참고 URL : https://stackoverflow.com/questions/10834262/jenkins-and-maven-difference

반응형