2016-08-03 57 views
0

我正在用jenkins/maven構建一個dotnet解決方案。當這個過程開始時,它會查看包裝標籤,並相應地決定構建一個xl-deploy zip文件或使用提供的nuspec文件並構建一個nuget包。 行爲當前由包裝標籤的值驅動。我們之前從未有過這樣的要求,所以它不是一個能夠做一件事(XLDeploy)或另一件事(nuget包)的問題。但是現在我們需要能夠在同一個jenkins作業中使用同一個pom.xml文件來完成這兩件事情。尋找在詹金斯工作中複製pom.xml文件的替代方案

  • 我試圖把包裝在一個配置文件 - >沒有去
  • 我試圖超載包裝與-Dpackaging - >不走(這是一個Maven屬性不是如果我正確讀取POM屬性)

我目前的解決方案是複製pom.xml文件並更改每個副本中的標記 - >我不覺得這是一個乾淨的解決方案。

有人能想出一個更好的主意嗎? (我知道的TeamCity能做到這一點,但遷移還沒有一個選項)

非常感謝, 問候,

回答

0

如果我理解正確的話,你有一個POM做具有類似於

插件包裝
<plugin> 
    <artifactId>maven-assembly-plugin</artifactId> 
    <version>2.6</version> 
    <configuration> 
    <descriptors> 
     <descriptor>src/main/assembly/assembly.xml</descriptor> 
    </descriptors> 
    </configuration> 
    <executions> 
    <execution> 
     <phase>package</phase> 
     <goals> 
     <goal>single</goal> 
     </goals> 
    </execution> 
    </executions> 
</plugin> 

然後在您的assembly.xml中,您可以添加兩種格式,即使其中一個格式未被使用,也可以每次添加兩種格式。

<formats> 
    <format>zip</format> 
    <format>tar</format> 
</formats> 
+0

感謝您的提示,但這不會工作,因爲有一個內部插件,與nuget/nuspec部分重型牽引。我結束了2 poms,刪除XLdeploy部分和crea – Charly

0

感謝您的提示,但這不會工作,因爲有一個內部的插件,做nuget/nuspec部分重的牽引。 我結束了2個poms,刪除了XLdeploy部分並創建了2個jenkins作業,一個用於XLDeploy,另一個用於nuget。 內部插件與maven生命週期太相關(並且很快就要退休)。