我希望在Jenkins中设置发布工作。我们使用Jenkins,Maven 3和Perforce进行源代码管理,使用Nexus进行存储库管理。
我已经设置了maven目标发布的作业:准备和发布:执行,但是我注意到编译和测试发生两次时构建时间加倍。我目前对maven-release-plugin准备和执行目标的理解如下:
maven-release-plugin准备:
clean verify
,以确保代码可以编译并通过测试。此外,还使用VCS标记以及发布和开发版本信息
创建了release.properties文件maven-release-plugin执行
deploy
/ deploy-site
的目标,具体取决于项目是否具有分发管理因此,为了停止加倍构建时间以及保持构建完整性,我正在考虑执行以下操作:
clean deploy
release:prepare
通过上述内容,我认为我可以将两个(prepare
和perform
)合并为一个步骤,并节省构建周转时间。我们通常总是使用一个构建环境来构建一个堆栈(Java 6等),因此只要代码在准备步骤中成功编译并通过测试,就可以将工件部署到Nexus。
我主要是在寻找反对的想法,上述情况可能会出错,这样我就可以从眼睛失明中得到拯救。
由于
答案 0 :(得分:0)
这是一个maven问题,而不是詹金斯问题。
在maven中,准备和执行操作会做两件事。一个用于快照,另一个用于发布的标记版本。一个部署到您的snapshotRepository,另一个部署到您的发布存储库。一个创建下一个快照构建,一个创建当前版本。
它们用于不同的目的。两者都可能以自己的方式失败,这取决于你的maven&存储库配置。因此需要同时运行它们。