詹金斯 - 在另一份工作中使用一份工作的结果

Dom*_*mra 7 ant ivy jenkins

我有一个运行makefile并生成一些文件的作业.然后,我想要另一份将这些文件发布到常春藤的工作.

我知道克隆工作区插件,但还有其他选择吗?

Dav*_* W. 1

您运行Makefile,然后发布到Ivy

Ivy 是 Ant 的一部分,是一个利用全球 Maven 存储库结构来获取所需 jar 文件和其他依赖项的模块。

不要误会我的意思,我使用本地远程 Maven 存储库来发布wget其他项目所依赖的 C/C++ 库(您可以使用它来获取项目)。但是,我没有使用 Ivy 来做到这一点。

如果您正在考虑 Apache Ivy,那么您可以使用Maven进行发布。有一个 Maven Release 插件可以将您的工件复制到您的 Maven 存储库,但您可能想要做的是部署。

deploy-file在我的 Jenkins 构建中,我只是让 Jenkins从命令行执行 maven 的步骤。这使我能够将文件部署到Maven Ivy 存储库中,而无需先创建 pom.xml 文件。(好吧,无论如何您都想创建一个 pom.xml,因为您想包含依赖关系层次结构。)

我通常在创建 jar/war/ear 文件的同一工作中执行此操作。但是,如果您想要单独的作业来执行此操作,则可以使用Copy Artifact Plugin该插件允许作业 B 复制作业 A 中的任何或所有已发布的工件。如果您只需要构建的jar文件,这比克隆整个工作区更快、更简单。