Why won't groovy run in Jenkins pipeline?

2020-04-19 06:23发布

I am currently trying to run a groovy script from my pipeline as one of my nodes, but I ran into this error:

[CompanyName] Running shell script
+ ./ideainspect.groovy
env: groovy: No such file or directory

Also, I tried installing the plugin for groovy, but for some reason, it won't install. Whenever I refresh the page for tools, the installer goes away. Am I installing groovy wrong? Please help!

Edit: Relevant Data

stage 'Static Analysis'
node {
    dir("Android/btMobileApp") {
        sh "./ideainspect.groovy"
        sh "./gradlew checkstyle lintDebug"
    }
}

And the ideainspect.groovy file is an executable with the shebang #!/usr/bin/env groovy, which could be the problem.

1条回答
forever°为你锁心
2楼-- · 2020-04-19 06:58

Does your jenkins user have groovy on its path? If so ditch the shebang and try

sh 'groovy ideainspect.groovy'

If it's not on the path, you can try

sh '/usr/bin/groovy ideainspect.groovy'

(or wherever groovy is installed)

Or alternatively add it to the path environment variable using Manage Jenkins -> Configure Systems. This may not be appropriate if you have lots of projects using different versions of groovy

查看更多
登录 后发表回答