gpt4 book ai didi

docker - 无法在Jenkins中运行Groovy sh命令

转载 作者:行者123 更新时间:2023-12-02 20:45:50 24 4
gpt4 key购买 nike

我无法在Jenkins中运行Groovy脚本。让我概述一下我的设置。

我使用以下docker compose运行官方的Jenkins docker镜像:

version: '2'
services:
jenkins:
image: jenkins/jenkins:lts
container_name: jenkins
ports:
- 8080:8080
volumes:
- ./home:/var/jenkins_home

Jenkins可以正常运行。
我还安装了Groovy插件 http://wiki.jenkins-ci.org/display/JENKINS/Groovy+plugin

现在,我尝试运行一个简单的Groovy脚本,如下所示:
LSOUT = sh (
script: 'ls -al',
returnStdout: true
).trim()
echo "${LSOUT}"

但是我无法使其工作。这是我得到的错误:
Building in workspace /var/jenkins_home/workspace/test_groovy
[test_groovy] $ groovy /var/jenkins_home/workspace/test_groovy/hudson4423271822305767083.groovy
Caught: groovy.lang.MissingMethodException: No signature of method: hudson4423271822305767083.sh() is applicable for argument types: (java.util.LinkedHashMap) values: [[script:ls -al, returnStdout:true]]
Possible solutions: use([Ljava.lang.Object;), is(java.lang.Object), run(), run(), any(), use(java.util.List, groovy.lang.Closure)
groovy.lang.MissingMethodException: No signature of method: hudson4423271822305767083.sh() is applicable for argument types: (java.util.LinkedHashMap) values: [[script:ls -al, returnStdout:true]]
Possible solutions: use([Ljava.lang.Object;), is(java.lang.Object), run(), run(), any(), use(java.util.List, groovy.lang.Closure)
at hudson4423271822305767083.run(hudson4423271822305767083.groovy:1)
Build step 'Execute Groovy script' marked build as failure
Finished: FAILURE

Groovy也作为软件包安装在容器中。
任何的想法?

最佳答案

在Groovy中,默认情况下您没有sh()方法。似乎您需要首先安装Pipeline Plugin(它具有组件Pipeline: Groovy)。然后可以访问sh()方法。

关于docker - 无法在Jenkins中运行Groovy sh命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54424146/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com