netbeans IDE를 사용하여 프로젝트를 만들었습니다. (실수하지 않으면 Ant를 사용하여 내부적으로 빌드합니다.)jenkins로 netbeans 프로젝트를 빌드 할 때 매니페스트 파일의 버전 정보를 어떻게 설정합니까?
우리가 사용하는 CI 서버는 젠킨스입니다. 생성 된 항아리에 대한 매니페스트에 버전 정보를 추가하고 싶습니다.
어떻게하면됩니까?
netbeans IDE를 사용하여 프로젝트를 만들었습니다. (실수하지 않으면 Ant를 사용하여 내부적으로 빌드합니다.)jenkins로 netbeans 프로젝트를 빌드 할 때 매니페스트 파일의 버전 정보를 어떻게 설정합니까?
우리가 사용하는 CI 서버는 젠킨스입니다. 생성 된 항아리에 대한 매니페스트에 버전 정보를 추가하고 싶습니다.
어떻게하면됩니까?
당신의 젠킨스는 어떻게 든 프로세스를 구축 프로젝트 버전 가능한 솔루션을 업데이트하는 것이 가정입니다 : nbproject\build-impl.xml
에
프로젝트의 버전을 추가 nbproject\project.properties
에 매니페스트
<target depends="init,-do-jar-create-manifest,-do-jar-copy-manifest" ...
<manifest file="${tmp.manifest.file}" mode="update">
<attribute name="Main-Class" value="${main.class}"/>
<!-- add this line below -->
<attribute name="Project-Version" value="${project.version}"/>
</manifest>
</target>
에 대한 항목을 추가
project.version=0.0.1-SNAPSHOT
빌드
출력
$ unzip -p dist/CI-test.jar META-INF/MANIFEST.MF | grep Project
Project-Version: 0.0.1-SNAPSHOT
편집 : 환경 변수를 사용하는 또 다른 해결책. nbproject\build-impl.xml
에서
PROJECT_VERSION
<target depends="init,-do-jar-create-manifest,-do-jar-copy-manifest" ...
<!-- enable access to environment variables -->
<property environment="env"/>
<manifest file="${tmp.manifest.file}" mode="update">
<attribute name="Main-Class" value="${main.class}"/>
<!-- add this line below -->
<attribute name="Project-Version" value="${env.PROJECT_VERSION}"/>
</manifest>
</target>
빌드
# define the environment variable
# on Windows use: set PROJECT_VERSION=0.0.2-SNAPSHOT
PROJECT_VERSION=0.0.2-SNAPSHOT
ant jar
출력
$ unzip -p dist/CI-test.jar META-INF/MANIFEST.MF | grep Project
Project-Version: 0.0.2-SNAPSHOT
감사합니다, 그것을 시도합니다. – Tim
보려면 다음을 보면 변수 환경을 사용하여 매니페스트에 대한 항목을 추가 할 수 있습니다. 환경 변수를 사용하는 또 다른 예제를 추가했습니다. – SubOptimal