Jenkins와 Maven의 차이점
Maven과 Jenkins의 차이점은 무엇입니까?
둘 다 자동화 된 빌드와 JUnit의 자동화 된 실행을 지원합니다.
그렇다면 무료입니까, 아니면 상호 배타적입니까? 언제 하나를 다른 것보다 사용해야합니까?
Maven은 도구 / 환경을 구축하고 있습니다. Jenkins는 CI (지속적 통합) 도구입니다.
Maven은 Ant를 대체하는 것과 비슷합니다.
- 플러그인 ( 예 : 빌드 및 버전 제어, JUnit 테스트 등)을 통해 프로젝트 빌드 를 지원합니다 .
- 프로젝트의 종속성 을 관리합니다 . 프로젝트를 빌드 (플러그인)하는 방법과 필요한 라이브러리 (종속성)를 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
'Programing' 카테고리의 다른 글
프로그램이 자바 스크립트의 변수 변경을 기다리도록하려면 어떻게해야합니까? (0) | 2020.12.08 |
---|---|
.S 파일이란 무엇입니까? (0) | 2020.12.08 |
ARC 아래의 NSString 속성은 강력해야합니까 아니면 복사해야합니까? (0) | 2020.12.08 |
셀레늄 그리드 : MaxSessions 대 MaxInstances (0) | 2020.12.08 |
Content-Type multipart / form-data를 사용하는 POST 데이터 (0) | 2020.12.08 |