[英]BUild artifacts names in jenkins/maven build
Jenkins的新功能。
當前,我們具有使用maven和Subversion作為SCM的手動構建過程:
在本地工作副本文件夾中,POM文件具有1.1.1-SNAPSHOT,發出mvn release:clean release:prepare -P all-modules
這將創建一個標簽https://avn/path/to/tag/xxx-1.1.1 ,而我的本地工作副本仍在1.1.2-SNAPSHOT中
發出svn開關https://avn/path/to/tag/xxx-1.1.1
這會將我本地工作副本中的POM更新為1.1.1
發出mvn全新安裝-Dbuild.env = pt -DskipTests = true -P所有模塊
這將以我們期望的名稱創建內部版本號為1.1.1的EAR文件。
現在,我正在使用JENKINS自動化該過程,將命令#1和#3放入目標和選項中:release:clean release:prepare -P all-modules clean install -Dbuild.env = pt -DskipTests = true -P all -模塊
該過程運行沒有問題,但是EAR文件的名稱始終為-SNAPSHOT,內部版本號為1.1.2-SNAPSHOT,而不是1.1.1。
我知道這是因為在“安裝”時,POM具有1.1.2-NAPSHOT作為版本/父版本。
我該如何解決?
我設法解決與批處理命令和Perl混合。
/ f(delims =“ %% a in('perl -ne” print join('。',$ 2,$ 3,$ 4-1)for(/\\((\\d+).(\\d+).(\\d+)。 ))/)&&($。<= 20)“ pom.xml')做@set ver = %% a
svn開關https:// svn / path / to / myproject / tags / myproject-%ver% `
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.