如何将 Groovy 类导入 Jenkinsfile?

2024-02-12

如何在 Jenkinsfile 中导入 Groovy 类?我尝试了几种方法,但没有一个有效。

这是我要导入的类:

Thing.groovy

class Thing {
    void doStuff() { ... }
}

这些是行不通的事情:

Jenkinsfile-1

node {
    load "./Thing.groovy"

    def thing = new Thing()
}

Jenkinsfile-2

import Thing

node {
    def thing = new Thing()
}

Jenkinsfile-3

node {
    evaluate(new File("./Thing.groovy"))

    def thing = new Thing()
}

您可以通过加载命令返回该类的新实例并使用该对象调用“doStuff”

所以,你会在“Thing.groovy”中看到这个

class Thing {
   def doStuff() { return "HI" }
}

return new Thing();

你的 dsl 脚本中应该有这样的内容:

node {
   def thing = load 'Thing.groovy'
   echo thing.doStuff()
}

应该将“HI”打印到控制台输出。

这能满足您的要求吗?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将 Groovy 类导入 Jenkinsfile? 的相关文章

随机推荐

  • 为什么最大堆栈深度不断变化?

    对于以下代码 最后的输出 最大堆栈深度不断变化 include
  • Facebook 新的用于图形 API 的 PHP SDK - 多查询

    我对查询参数值应该是什么样子一筹莫展 因此 据我所知 要在图形 API 库中提交多重查询 以下是执行它的代码方法 param array method gt fql multiquery queries gt multiQuery call
  • Amazon Elastic Block Storage (EBS) 和 Microsoft Azure 驱动器之间的差异

    我一直在考虑使用 Amazon EC2 或 Microsoft Azure 来托管新项目 并计划使用其中之一亚马逊EBS http aws amazon com ebs or 微软Azure驱动器 http www microsoft co
  • 组合框更改其他组合框的值

    我的表单上有两个组合框 每个都有值 Yes 和 No 我想要的是当一个改变时另一个得到相反的结果 如果第一个是 Yes 另一个是 No 我需要用 Javascript 来做 我看到这个问题如何使用 JavaScript 更改组合框中的 选定
  • C++ 从 const int* 到 int* 的转换会产生意想不到的结果[重复]

    这个问题在这里已经有答案了 在c 中 我们知道我们不能将const int 转换为int 但我有一个代码片段 可以将 const int 转换为 int 我是 C 的初学者 我在 google 上搜索了这个 但我刚刚得到了提到 const
  • Angular 应用程序中的空注释

    是否有任何配置设置可以删除这些空注释和空格 我的构建命令是ng build environment prod progress false target productiontsconfig 是 compileOnSave false co
  • Mysql 在键上连接两个表

    我正在尝试连接两个表 但似乎遇到问题 我正在寻找的输出是有主题的行数 SELECT FROM education AS a JOIN keys2 AS b USING List Idsubjek WHERE List Idsubjek IN
  • 在 C++ 中使用类似 C 的初始化或构造函数初始化是否被认为更好? [复制]

    这个问题在这里已经有答案了 可能的重复 什么时候应该使用直接初始化 什么时候应该使用复制初始化 https stackoverflow com questions 4293596 when should you use direct ini
  • Django Memcached 缓存消失

    我的 Django 应用程序配置了 memcached 一切都运行顺利 我试图随着时间的推移填充缓存 并在新数据从外部 API 传入时添加到缓存中 这是我正在进行的事情的要点 主视图 api query more results apiQu
  • WPF C# 设计问题中绘制图表

    一个月前 我有一个项目 我使用 Windows 窗体在应用程序中绘制了股票图表 我通过创建一个可以拉伸到窗口尺寸的位图来做到这一点 这将允许我的图表随窗口调整大小 我现在正在使用 WPF 扩展该项目 我一直在尝试为该项目进行设计 但我似乎不
  • C/C++ 中的指针帮助 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我想了解 C 和 C 中的指针 它如
  • 如何在 VueJS 中测试全局事件总线

    In this article https medium com vuejobs create a global event bus in vue js 838a5d9ab03a解释了如何在 VueJS 中使用全局事件总线 它描述了使用在单
  • 从命令提示符创建 apk 文件

    我想从命令提示符创建 apk 文件 为此我遵循这个链接 http developer android com guide developing building building cmdline html 并尝试用 ant 完成它 但它给了
  • Python while循环输出到List

    我编写了一个简单的代码 它将 wav 文件作为输入 然后查找频率并返回相应的音符 但是 为了添加更多功能 我需要输出为列表 我所拥有的简化伪代码如下所示 while some condition true compute various t
  • 是否可以使用 sha1 和 sha256 证书对安装程序和卸载程序进行双重签名?

    Inno Setup 中是否可以同时使用 sha1 和 sha256 对卸载程序和安装程序进行签名 我知道它是可以签署 https stackoverflow com a 30671378 1329977通过命令工具具有两个证书的可执行文件
  • 如何解决 Gradle 构建中的存储库证书错误

    我安装了最新版本的android studio 我已经安装了jdk 8 当我打开 android studio 时 出现以下错误 Unable to resolve dependency for app debugUnitTest comp
  • 动画背景java游戏

    我正在编写一个类似于小行星的游戏 但我不明白如何在后台生成小行星 现在我在主类中生成了一个小行星 但我想为小行星创建一个类 我该怎么做 主班 public void paintComponent Graphics g super paint
  • 使用鼠标在 openGL 中移动绘图

    我试图在按住鼠标左键的同时在 openGL 中移动图像 我不想拖动物体 只是移动整个图片 它是分形的二维绘图 我被告知我可以使用 gluortho2d 但我找不到任何信息或类似的尝试如何做到这一点 我假设类似的事情 void mouse c
  • log4j休眠错误

    配置休眠时出现此错误 log4j WARN No appenders could be found for logger org hibernate cfg annotations Version log4j WARN Please ini
  • 如何将 Groovy 类导入 Jenkinsfile?

    如何在 Jenkinsfile 中导入 Groovy 类 我尝试了几种方法 但没有一个有效 这是我要导入的类 Thing groovy class Thing void doStuff 这些是行不通的事情 Jenkinsfile 1 nod