我想从bash脚本中运行Groovy脚本。
我有一个groovy脚本,正在创建一个我需要的变量来自jenkins。 (由于某种原因,整个CI都是用bash编写的)。
我需要在groovy中运行它,因为我无法在bash中重现它。
所以我的bash代码如下:
LAST_SUCCESSFUL_BUILD_DATE=$(groovy scripts/jenkins-lastbuild-date.groovy)
groovy脚本位于文件夹脚本中,就像这样:
#!/usr/bin/env groovy
import jenkins.model.Jenkins
def envVars = Jenkins.instance.getGlobalNodeProperties()[0].getEnvVars()
// the job name is a global Jenkins variable, so I get it from there
def item = Jenkins.instance.getItem(envVars['JOB_NAME'])
def ff=item.getLastSuccessfulBuild()
println ff.getTime().format("yyyy-MM-dd")
但是当我运行它时我得到了错误
line 254: groovy: command not found
任何想法?我需要从上次成功提交中获取日期。
答案 0 :(得分:0)
这似乎是环境变量的一个问题,因为你试图在shebang中使用env本地化groovy
。
我会做两件事:
转到服务器并尝试运行:
mbp:~ jhartman$ which groovy
/usr/local/bin/groovy
#!/usr/local/bin/groovy import jenkins.model.Jenkins
祝你好运, 亚雷克