通过Jenkins工作部署maven的策略

Str*_*ddy 5 java maven jenkins

我有一个Jenkins工作,它使用maven构建目标'clean package deploy'作为主git分支.但是,由于nexus repo不允许重新部署,如果Jenkins作业第二次运行而没有更改版本,它将失败并出现预期的400 Bad Request错误:

org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal 
    org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) 
    on project common-library: 
Failed to deploy artifacts: Could not transfer artifact 
    net.bacon.common:common-library:pom:1.2.13 from/to bacon-releases 
    (https://maven.bacon.com/nexus/content/repositories/releases): 
Failed to transfer file: 
    https://maven.bacon.com/nexus/content/repositories/releases/net/bacon/common/common-library/1.2.13/common-library-1.2.13.pom. 
Return code is: 400, ReasonPhrase:Bad Request.
Run Code Online (Sandbox Code Playgroud)

任何人都可以提出不同的策略,即可以在不使Jenkins作业失败的情况下运行部署目标吗?

rma*_*how 4

我们所做的是自动快照构建。然后,版本会自动递增。

对于发布构建,我们使用maven发布插件并手动输入版本。但是,您可以让发布插件来完成这项工作。它将删除“-SNAPSHOT”构建、部署,然后,对于下一个发行版本,增加最后一位数字并再次附加“-SNAPSHOT”。

对于分发管理,您可以有两个存储库,一个用于快照,一个用于发布,具有不同的重新部署设置。