2015-08-14 56 views
5

我正在使用Jenkins服务器作为配置项。我正在使用Maven Docker来运行Maven任务。所以这是我的问题和我的疑惑。如何设置运行版本或快照的maven选项

与jenkins我使用maven插件来配置和编译maven任务。如果我想构建,我运行构建参数,如果我想创建一个快照或版本,我运行执行Maven版本,这里我可以指定版本。

但是由于我必须使用mvn命令的参数,因此docker更复杂。因此:

如何设置选项以创建发行版或快照版本?

我有我的nexus url和用户/密码settings.xml文件,但问题是与docker一起使用它。

我正在使用docker.io/maven图像。

+0

好的,我想用命令行来做到这一点。我需要自动化发行版和过去,以创建newReleaseVersion和NextSnapShotVersion参数。 – Robert

回答

0

如果您的版本以-SNAPSHOT结尾,它将被Maven自动视为快照。否则,它被视为发布版本。

然后,可能会有其他选项,例如测试,调试,代码分析等,但如果不熟悉项目就很难知道。

[更新]詹金斯似乎这里描述做了很多checkings为发行版:http://labs.bsb.com/2014/02/better-maven-releases-with-jenkins/

+0

嗯,我有一个疑问:在jenkins中,如果使用*** Perform Maven Release ***插件,则可以同时定义:发行版本和快照版本(开发版本)。 – Robert

1

处理的Maven基于版本号的版本和快照,不是基于命令行参数。

有一个maven-release-plugin会自动执行释放构建所需的工作;但是,在使用它之前,您可能需要一些背景信息。

要“构建发布版本”,请检查缺少“-SNAPSHOT”标识的pom.xml(因此您有发行版的源代码历史记录),然后使用“mvn部署“命令(假设你的pom.xml是完全配置的,这可能不是)。然后,您将检查“下一个”-SNAPSHOT版本,并且每个人都将继续开发下一个快照版本。

如果这听起来像很多工作,请记住,所有这些都是通过maven-release-plugin自动完成的。这意味着这项工作只进行一次,而且之后的每个发布都是自动化的。这可以降低发布过程中人为错误的可能性,并加快发布过程的速度。这是值得初步努力设置。

使用“mvn deploy”命令重建非SNAPSHOT号码是非常令人沮丧的,因为它使得二进制文件依赖于版本号以及它们的构建时间,最后一点信息没有被跟踪。