Maven을 빌드 도구로 사용하고 Jenkins를 빌드 서버로 사용하고 있습니다. 나는 쉽게 개발하고 건설하도록 노력하고있다.스냅 샷에서 Maven과 jenkins로 출시하는 방법
나는 다음과 같습니다
글로벌 치어
<project>
<!-- ... -->
<artifactId>global-pom</artifactId>
<!-- ... -->
</project>
라이브러리 치어,이 일반적인 도서관의 부하가 (부모 치어는 글로벌이다)
<project>
<!-- ... -->
<version>2.0-SNAPSHOT</version>
<artifactId>libraries-pom</artifactId>
<parent>
<!-- ... -->
<artifactId>global-pom</artifactId>
<version>2.0-SNAPSHOT</version>
</parent>
<properties>
<libraries.version>2.0-SNAPSHOT</libraries.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<!-- ... -->
<artifactId>library-one</artifactId>
<version>${libraries.version}</version>
</dependency>
<dependency>
<!-- ... -->
<artifactId>library-two</artifactId>
<version>${libraries.version}</version>
</dependency>
<!-- ... -->
</dependencies>
</dependencyManagement>
<modules>
<module>library-one</module>
<module>library-two</module>
<!-- ... -->
</modules>
</project>
공통 라이브러리 (부모 pom은 Libraries 임) 전자이 :
<project>
<!-- ... -->
<version>2.0-SNAPSHOT</version>
<artifactId>library-one</artifactId>
<parent>
<!-- ... -->
<artifactId>libraries-pom</artifactId>
<version>2.0-SNAPSHOT</version>
</parent>
<!-- ... -->
</project>
그런 다음 서비스 치어과 같이 보일 수 있습니다 (부모 치어가 라이브러리입니다) : 나는 로컬 개발하고 때
<project>
<!-- ... -->
<version>1.0-SNAPSHOT</version>
<artifactId>service-one</artifactId>
<parent>
<!-- ... -->
<artifactId>libraries-pom</artifactId>
<version>2.0-SNAPSHOT</version>
</parent>
<!-- ... -->
</project>
지금이 잘하고 좋다. Intellij 프로젝트에서 이러한 모든 폼을 사용할 수 있습니다. 프로젝트 중 하나에서 사용할 라이브러리 중 하나를 변경하면 로컬로 빌드하고 실행할 때 라이브러리를 먼저 빌드하는 것이 좋습니다.
무언가가 체크인 될 때마다 SNAPSHOT 버전이 자동으로 Jenkins에 빌드됩니다.
실제로 출시 할 때 SNAPSHOT 버전을 사용하고 싶지 않지만 "실제"버전을 사용하고 싶습니다. 개발 또는 출시에 영향을 미치지 않도록 관리하는 것이 가장 좋습니다.
누구에게 아이디어가 있습니까? 이상적으로, 내가 공개하고 싶을 때, 나는 빌드 서버에 가서 빌드를 클릭하고 자동으로 모든것을 분류한다. 가능한가?