如何从触发的作业将参数传递到Jenkins管道?

时间:2019-05-29 17:00:27

标签: jenkins gradle automation continuous-integration jenkins-pipeline

我想用Jenkins pipeline

  • 构建我的产品并将其上传到Artifactory
  • 对我的产品进行一些测试
  • 如果测试通过,则促进Artifactory构建

我的产品是使用gradle构建的。我有一个单独的gradle作业来构建它,但是,我不介意放弃工作并在管道中使用the Artifactory Gradle Build step

我的问题是:如何将构建版本从gradle作业传递到我的管道?

我尝试了以下操作:

  1. 放弃gradle作业,并使用Artifactory Gradle Build步骤[{3}}构建产品。

  2. 在我的管道中运行gradle作业,并检索rawBuild和gradle任务的返回值。

没有用。

  1. 在gradle作业中设置一个环境变量,然后在管道中读取它。

尽管我在gradle作业中设置了变量,但未在管道中设置该变量。

我能做什么:

  1. 在我的管道作业中,阅读有关Artifactory的最新发布的模块。

如果我想让我的管道同时处理多个发行版,这将很麻烦。

  1. 在gradle作业中将构建版本写入文件,并在管道作业中将其读出。

我相信工作之间的这种依赖不是一个好主意。想象一下有人在擦除整个工作空间时,或者在构建每个gradle之后自动将其擦除了。此外,如果可以并行构建gradle版本将不起作用-我不知道应该在哪个工作区中查找文件。

这不是强大的依赖关系。

  1. 计算管道中的构建版本,并将其作为gradle作业的参数。

这对我来说听起来有点过分。我已经使用gradle插件为我增加了构建版本。我不想重新实现它-它是代码重复。

  1. 自从gradle作业标记我的仓库以来,读取管道作业中给定分支上的最后一个标记。

我想念什么?解决我的问题的最佳解决方案是什么?当然,肯定有人拥有相同的用例,并且必须有一种我应该使用的机制。还是我的想法有些瑕疵,我根本不需要构建版本?

0 个答案:

没有答案
相关问题