如何设置Maven选项来运行发布或快照
我使用Jenkins服务器作为CI。 我正在使用maven docker来运行maven任务。 所以这是我的问题和我的疑惑。
与jenkins我使用maven插件来configuration和编译maven任务。 如果我想构build,我运行Build with Parameters ,如果我想创build一个快照或发行版,我运行Perform Maven Release ,在这里我可以指定版本。
但是由于我必须使用mvn命令的参数,因此docker更复杂。 所以:
如何设置选项来创build发行版或快照版本?
我有我的nexus url的settings.xml文件,也与用户/密码,但问题是与docker使用它。
我正在使用docker.io/maven图像。
Maven根据版本号来处理版本和快照,而不是基于命令行参数。
有一个maven-release-plugin ,可以自动完成释放构build所需的工作; 但是,在使用它之前,您可能需要一些背景信息。
为了“构build一个版本”,你检查一个没有“-SNAPSHOT”标识符的pom.xml文件(所以你有一个发行版源代码的历史logging),然后使用“mvn deploy”命令来构build插件假设你的pom.xml已经完全configuration好了,这可能不是)。 然后,您将检查“下一个”-SNAPSHOT版本,并且每个人都将继续开发下一个快照版本。
如果这听起来像很多工作,请记住,所有这些都是通过maven-release-plugin自动完成的。 这意味着工作完成了一次,之后的每个发布都是自动的。 这样可以降低发布过程中出现人为错误的可能性,并加快发布过程的速度。 最初的努力是值得的。
非常不鼓励使用“mvn deploy”命令重build一个非SNAPSHOT号码,因为它使得二进制文件依赖于版本号和构build时的最后一点信息没有被跟踪。
如果您的版本以-SNAPSHOT
,则它会被Maven自动视为快照。 否则它被认为是发行版本。
那么,可能还有其他的select,比如testing,debugging,代码分析等,但是如果没有这个项目就很难知道。
[更新]jenkins似乎做了很多检查发行版本在这里描述: http : //labs.bsb.com/2014/02/better-maven-releases-with-jenkins/
- 为docker-client for java设置docker中容器的端口
- 基于Docker的tomcat webapp仅在MacOS上失败
- 来自服务器在Docker容器内运行的空响应
- Docker容器阻塞内部的Apache Batik Transcoder
- 是否有可能通过JAVA_OPTS重写server.xml中的Tomcat HTTP连接器属性?
- Java.lang.ExceptionInInitializerError列出泊坞窗图像
- 在docker实例上使用akka与动脉远程处理的错误
- docker如何与IBM WebSphere一起工作?
- java进程启动内部docker集装箱没有得到提供-Xms堆