나는 여러 대상 플랫폼에 구축되어야한다 유물이 있습니다동기화 유물 버전
- 리눅스 86
- ARM11
불행하게도 인해
, 목표는이
- artifact-1.0.0-linux.zip
- artifact-1.0.0-windows.zip
- 유물 같은 저장소 뭔가를하는 것입니다 -1.0.0-arm11.zip
- artifact-1.0.1-linux.zip
- artifact-1.0.1-windows.zip
- artifact-1.0.1-arm11.zip
- ...
버전이 동기화되어 있습니다. 이 일을 성취하는 방법?
모든 빌드 후에 릴리스 프로세스가 pom.xml의 버전을 업그레이드한다는 점이 중요합니다. 그래서 다양한 플랫폼에 연속적으로 구축하여 나는
- artifact-1.0.0-linux.zip
- artifact-1.0.1-windows.zip에게
- artifact-1.0.2-arm11.zip을 가진 달성 할 수
- artifact-1.0.3-linux.zip
- artifact-1.0.4-windows.zip
- artifact-1.0.5-arm11.zip
- ...
하지만 이것은 내가 찾고있는 것이 아닙니다.
나는 MVN 자료
리눅스
에실행 수 : 출시를 준비 : 수행 -DpushChanges = 버전 번호가 증가하지 않습니다 거짓 릴리스로 설정 pushChanges와 거짓
(SCM에서)
다음 Windows에서 실행
,451,515,MVN 자료 : 출시 준비 :
을 수행 (이 버전 번호를 증가)
그러나 적절한 순서가 나와있다에 그 책임이 다양한 플랫폼의 분리 프로세스를 트리거 할 수 있습니다. 메이븐이 이걸 도와 줄 방법이 있니?
의견이 있으십니까?
감사
PS. 이것은 모듈로 구성하는 방법에 대한 질문이 아닙니다. 여러 플랫폼에서 단일 아티팩트의 릴리스 프로세스를 동기화하는 방법에 대한 것입니다. 내가 보는 것처럼
하지만 요점은 당신이 리눅스를 사용하고있을 때 윈도우 용 바이너리를 만들 수 없다는 것입니다 (툴 체인 제약 때문에). 따라서 Linux에서 실행될 때 빌드 프로세스가 Windows 바이너리를 만들 수 없습니다. 그 반대. 따라서 모든 플랫폼에 대해 모든 바이너리를 한 번에 만들 수는 없습니다. --- 이것은 모듈로 구성하는 방법에 대한 질문이 아닙니다. 여러 플랫폼에서 단일 아티팩트의 릴리스 프로세스를 동기화하는 방법에 관한 것입니다. –
그래, Maven이 원하는대로 자동으로이 작업을 수행하는 것을 도와 줄 수 없다는 점에 유의하십시오. 자신 만의 릴리스 플러그인을 만들고 싶지 않다면 (그리고 얼마 동안). 언급했듯이, 버전을 부딪히지 않고 모든 relesese를 할 수 있고, 마지막에 그것을 전세계에 부딪 치지 만, 이것은 당신이 기억해야만하는 것입니다. 또한 일반적인 버전 관리 (상위 버전에서 상속)를 삭제하고 모든 모듈의 POM에 문자 그대로 버전을 입력 할 수 있습니다. 그러나 이번에는이 프로세스를 제어하고 모든 모듈을 버전과 함께 릴리스하고 모든 모듈을 한 번 릴리스해야합니다. 나는 진짜로 100 % 자동적 인 방법을 볼 수 없다. –
나는 항상 짧은 시간에 :) 어쨌든 도움을 주셔서 감사합니다. –