【问题标题】:Groovy syntax - uploading artifactsGroovy 语法 - 上传工件
【发布时间】:2019-04-24 21:39:50
【问题描述】:

对于上传工件,给定uploadSpec

1) 下面的代码

server.upload(uploadSpec)

不上传工件

2) 下面的代码

server.upload spec: uploadSpec

上传工件


从语法的角度,我可以理解第一种情况,uploadSpec 作为参数传递给server.upload() 方法

如何理解语法? server.upload spec: uploadSpec, failNoOp: true

【问题讨论】:

    标签: groovy jenkins-pipeline artifactory jenkins-groovy


    【解决方案1】:

    第二种语法相当于:server.upload([spec: uploadSpec])。那就是在server 上调用upload 并传递一张地图。该映射有一个键"spec",其值为uploadSpec。对于您的第三个示例,它仍然是一个地图,但有两个键("spec""failNoOp"

    【讨论】:

    • server.upload() 内部是否使用 jfrog cli?
    • 我不知道。这只是解释 groovy 中发生的事情。
    • 那么,在第二种情况下,指代这种语法的确切术语是什么?在第一种情况下,它是一个方法(upload)调用表达式。在第二种情况下我如何称呼这种语法?
    • 第一种语法如何写server.upload spec: uploadSpec, failNoOp: true
    • 我的回答是,你的速记意味着什么。它仍然是一个方法调用。它需要一个参数,参数是一个 Map。
    【解决方案2】:

    您的第一个示例是“Java”语法,而另外两个是“Groovy”语法。 两者都可以接受。

    上传方法接受三个输入:

    1. 规范 - 强制性的。
    2. buildInfo - 可选。默认值:null。
    3. failNoOp - 可选。默认值:false。

    在这两种语法中的任何一种中,您都必须提供规范,并且可以提供其他两种选项中的任何一种。如果您选择不提供,则使用默认值。

    你可以直接从code看到这个。

    更多信息可以在documentation找到。

    【讨论】:

      猜你喜欢
      • 2019-09-14
      • 2017-03-31
      • 2010-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-21
      • 1970-01-01
      • 2013-05-31
      相关资源
      最近更新 更多