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

Jenkins Pipelines:为什么不加载CPS Global Lib?

岳高明
2023-03-14
问题内容

我正在关注有关管道库插件的教程。我制作了一个包含以下文件的存储库:

D:.
│   Test.groovy
│   
├───src
└───vars
        helloWorld.groovy

helloWorld.groovy包含:

def call(name){
    echo "Hello world, ${name}"
}

Test.groovy包含:

helloWorld("Joe")

我安装了所有管道插件,尤其是工作流-cps-global-lib-
plugin。然后,我创建了一个新的管道作业,在其中加载了此存储库并将脚本路径设置为Test.groovy。当我运行此作业时,出现以下错误:

java.lang.NoSuchMethodError: No such DSL method 'helloWorld' found among [archive, bat, build, catchError, checkout, deleteDir, dir, echo, emailext, error, fileExists, git, input, isUnix, jiraComment, jiraIssueSelector, jiraSearch, load, mail, node, parallel, properties, pwd, readFile, readTrusted, retry, sh, sleep, stage, stash, step, svn, timeout, tool, unarchive, unstash, waitUntil, withEnv, wrap, writeFile, ws]

为什么helloWorld步骤未定义?这是我已安装的插件列表:http :
//pastebin.com/xiMMub8J


问题答案:

Pipeline全球图书馆希望Git推送事件能够更新Jenkins嵌入式工作流库git repo。

推送会触发该 UserDefinedGlobalVariableList.rebuild()方法,请参见:[https]( https://github.com/jenkinsci/workflow-
cps-global-lib-
plugin/blob/master/src/main/java/org/jenkinsci/plugins/workflow/cps/global/UserDefinedGlobalVariableList.java)
//github.com/jenkinsci/workflow-cps-global-lib-
plugin/blob/master/src/main/java/org/jenkinsci/plugins/workflow/cps/global/UserDefinedGlobalVariableList
.java

这是一个普通的脚本,它将GitHub存储库拉入Jenkins存储workflow- libs库,然后通过以下方式重新加载它而无需重新启动:

//Get Pipeline Global Library Jenkins Extension that rebuilds global library on Git Push List extensions = ExtensionList.lookup(UserDefinedGlobalVariableList.class); extensions.get(0).rebuild() //may want to add a check here to make sure extensions isn't null



 类似资料:
  • 我创建了一个简单的GUI,其中包括一个JTable。这张桌子可能被保存了 此时,保存函数按预期工作,当在保存目录中查找时,我可以看到表对象存储在文件中。 但是,当我尝试从文件加载表时,GUI从不显示加载的表。调用actionlistener函数,因为我有一个系统。输出“数据已加载”,但表格从不显示更新的数据。 我已尝试调用repaint(),但无效。如果有人能让我知道我可能做错了什么,我将不胜感激

  • 我洛基,在“开始”之后,我遵循https://getbootstrap.com/docs/4.3/layout/overview/的指示(我猜在那个例子中缺少了一些东西) 我说: 链接到头标签中的css文件 但是它不起作用,类“hid-ph-flex”总是在“代码”显示中:无“代码”,火狐调试器警告说:“未知规则或错误读取规则在“包括” 我想我忘了一份文件,有什么帮助吗???

  • 谢谢你的帮助。Haskell看起来很有趣,但如果没有一个好教授的指导和指导,这是一门很难学的语言。我只是想自学这门语言。

  • 问题内容: 在使用jQuery学习Ajax请求的过程中,我尝试通过单击链接来加载google主页。所以我写了类似的东西: 在身体某处: 哪个没有用,最初我以为是语法错误或某些错误。但是后来,当我在服务器上用静态html文件替换google url时,它可以正常工作。 它是设计成这样工作的(如果是,为什么?),或者我做错了什么? 编辑:请问有人可以解释(或引用)跨域ajax调用引入的安全性问题吗?换

  • 我已经重新启动了nginx和php7.4-fpm。 xdebug 3看起来是基于以下内容安装的: phpinfo()中的Ini目录: 加载的配置文件 /etc/php/7.4/fpm/php.ini扫描此目录以查找其他. ini文件 /etc/php/7.4/fpm/conf.d解析 /etc/php/7.4/fpm/conf.d/10-opcache.ini, /etc/php/7.4/fpm/

  • 当你使用自定义库时,你可能会碰到问题,因为 Composer 不会递归加载您要求的需求库,所以你必须重新定义这些库中所有的 composer.json 文件。 在详细说明为什么是这样之前,你需要明白:自定义 VCS 和包存储库的主要用途是临时测试一些东西,或者 Fork 一个项目做了些改进,并且你的 Pull Request 还未被 Merge,等等。你不应该使用它们来跟踪你的私人资源包,关于这点