当前位置: 首页 > 面试题库 >

Artifactory-使用Jenkins Pipeline脚本上传

督瑞
2023-03-14
问题内容

我正在尝试使用Jenkins Pipeline脚本将一些二进制文件上传到Artifactory。我使用了Artifactory
文档中的相同示例,但是它不起作用。我有以下错误:

hudson.remoting.ProxyException: groovy.lang.MissingMethodException: No signature of method: java.lang.String.upload() is applicable for argument types: (java.lang.String) values: [{
              "files": [
                       ....

还有另一个类似的问题,但没有回应。

pipeline {
    agent any
    environment {
        def server = Artifactory.server 'art-1'
        def uploadSpec = """{
              "files": [
                {
                   "pattern": "path/",
                    "target": "path/"
                }
             ]
            }"""

    }
    stages {
        stage('upload') {
           steps {
              script { server.upload(uploadSpec) }

            }
        }
    } 
}

人工工厂5.4.6


问题答案:

您没有完全正确地使用声明式管道。环境部分不能那样工作。您只能在其中定义字符串,我以为def会引发错误,但显然不会。

您可能最终server等于对Artifactory.server对象的引用的String表示形式。基本上是Artifactory.server.toString()。

试试这个:

pipeline {
    agent any

    stages {
        stage('upload') {
           steps {
              script { 
                 def server = Artifactory.server 'art-1'
                 def uploadSpec = """{
                    "files": [{
                       "pattern": "path/",
                       "target": "path/"
                    }]
                 }"""

                 server.upload(uploadSpec) 
               }
            }
        }
    } 
}


 类似资料:
  • 目标是Maven repo groupid、artifactId和version已知 应该生成POM(另一个maven项目将访问此工件) 应定义自定义属性(重要!) 生成构建信息很好 我尝试使用Artifact Maven插件,但它不允许上传自定义文件,只允许上传Maven项目构建结果 我想可以使用RestAPI或cli工具来完成,但我没有找到如何完成。

  • 脚本组件 脚本组件是用来扩展 C++ 节点对象的一种方式,你可以将脚本组件绑定到节点对象上,然后脚本组件就能收到 onEnter,onExit 和 update 事件。 脚本组件支持两种脚本语言 JavaScript 和 Lua,使用的脚本组件应该和绑定脚本的语言类型对应,比如 ComponentJS 用来绑定 JavaScript 脚本,ComponentLua 用来绑定 Lua 脚本。有了脚本

  • 创建和使用脚本 游戏对象的行为由绑定的 组件 所控制。尽管 Unity 内置的组件非常灵活多样,但是你很快就会发现它们提供的功能远远不够,为了实现你所要的游戏功能,你需要超越它们才行。Unity 支持通过 脚本 创建属于你自己的组件。在组件中,随着时间的推移,你可以触发游戏事件、修改组件属性,还可以以任何你喜欢的方式来响应用户输入。 Unity 内置支持两种编程语言: C# 一种工业标准语言,类似

  • 脚本语言是介于 HTML 和 Java、C++ 和 Visual Basic 之类的编程语言之间的语言。HTML 通常用于格式化文本和链接网页。编程语言通常用于向计算机发送一系列复杂指令。脚本语言也可用来向计算机发送指令,但它们的语法和规则没有可编译的编程语言那样严格和复杂。脚本语言主要用于格式化文本和使用以编程语言编写的已编译好的组件。 Active Server Pages 使 Web 开发商

  • Active Server Pages 提供了一个在 HTML 页中使用现有脚本语言如 Microsoft VBScript 和 Microsoft JScript 的框架。本节将解释如何创建 ASP 页、如何添加脚本语言语句以及如何执行创建对象实例等基本任务。虽然这些主题介绍了一些脚本和编程的概念,但其用意并非是教您一门脚本语言。Microsoft 的脚本语言提供自己的文档,许多其他的有关脚本的

  • 校对:大城小胖 TypeScript 是一种由微软开发的自由和开源的编程语言。它是 JavaScript 的一个严格超集,并添加了可选的静态类型和基于类的面向对象编程。TypeScript 的设计目标是开发大型应用,然后转译成 JavaScript 运行。由于 TypeScript 是 JavaScript 的超集,任何现有的 JavaScript 程序都是合法的 TypeScript 程序。 关