【问题标题】:How to use Jenkins parameterized builds?如何使用 Jenkins 参数化构建?
【发布时间】:2013-09-30 05:45:00
【问题描述】:

Jenkins 允许您对构建进行参数化,但我不知道如何实际使用它:

假设我通常会像这样从命令行启动我的 Ant 构建:

ant -buildfile /path/to/my/build.xml -DpackageType=jar package

这将调用build.xmlpackage 目标,并为其提供一个名为packageType 的属性,其值为jar

我假设在上面的屏幕截图中,Name 字段是我指定packageType 的位置,但值呢?

  1. 如果 Jenkins 要我为属性指定一个默认值,那么我应该在哪里指定我的项目正在使用的值?例如,我可能想要war默认值,但让这个 Jenkins 作业传入 jar 的值(以覆盖默认值)。
  2. 另外,Jenkins 所说的“...允许用户保存输入实际值。”是什么意思?哪个用户?无论如何,您会在哪里输入值?

提前致谢!

【问题讨论】:

    标签: java ant parameters build jenkins


    【解决方案1】:

    每当用户在 Jenkins 中配置参数化构建时,参数名称都会被视为环境变量

    用户可以通过环境变量使用这些参数。

    例如,在您的情况下,如果 packageType 是您要传递的参数,

    然后将名称指定为 packageType 并将值指定为 war

    您可以在所需的脚本中使用它作为 %packageType%(用于 Batch)或 $packageType(用于 shell)

    配置作业后,每当您单击立即构建按钮时,Jenkins都会提示输入参数

    当你使用文件参数时,上传的文件会被放到工作目录中

    【讨论】:

    • 啊,这对我来说将所有内容联系在一起:Jenkins 在构建时提示您。现在说得通了——谢谢!
    • 从 Jenkins “Execute Shell”,我能够通过 $FOOBAR 访问 String Parameter 的值,其中 FOOBAR 是构建参数。使用 %FOOBAR% 对我不起作用。
    • %PARAM% 用于批处理,$PARAM 用于外壳
    猜你喜欢
    • 1970-01-01
    • 2016-10-07
    • 2015-08-28
    • 1970-01-01
    • 2014-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多