Jenkins 如何设置拾取动态命名工件的作业

Jenkins 如何设置拾取动态命名工件的作业,jenkins,Jenkins,我是詹金斯和CI的新手。我正在尝试设置一个作业,该作业从不同的项目中拾取工件(.apk文件),并将其用作参数化作业的apk。(移动自动化) 问题是apk的名称每次都会随着一些变量而改变。所以我需要能够选择这个apk并触发我的工作 根据我的设置,即使构建被复制到工作区,我的构建也会出现空指针异常 谁能给我指路吗 您首先需要归档工件,然后才能复制它们。这是一个构建后操作。要指定apk,可以使用通配符*.apk,请选中 您需要允许其他项目复制您的工件,请选中“复制工件的权限” 在要使用这些工件的作业中

我是詹金斯和CI的新手。我正在尝试设置一个作业,该作业从不同的项目中拾取工件(.apk文件),并将其用作参数化作业的apk。(移动自动化)

问题是apk的名称每次都会随着一些变量而改变。所以我需要能够选择这个apk并触发我的工作

根据我的设置,即使构建被复制到工作区,我的构建也会出现空指针异常

谁能给我指路吗

  • 您首先需要归档工件,然后才能复制它们。这是一个构建后操作。要指定apk,可以使用通配符*.apk,请选中

  • 您需要允许其他项目复制您的工件,请选中“复制工件的权限”

  • 在要使用这些工件的作业中,指定构建步骤“从另一个项目复制工件”


  • 编辑:也许我误解了你的问题,如果你已经将工件复制到你的工作区中,或者用通配符重命名它,即
    mv*.apk staticname.apk


    或者添加一个shell脚本,将apk的名称保存到一个参数中,然后可以在测试中引用该参数。查看如何设置和发布变量。

    @isherwood非常感谢。我也要试试这些。更清楚地说,作业A触发作业B。作业A工件(apk文件)是作业B的一个参数。因为,我从昨天开始一直在探索,我也在考虑的一个选项是,在作业A成功运行后,我是否可以将构建编号作为参数传递给作业B。我可以利用这些信息构建Jenkins url,然后将我指向apk文件本身。任何信息都会非常有用。再次感谢