小编Mur*_*bey的帖子

脚本不允许使用 staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods 写 java.io.File java.lang.String

我正在尝试使用 Jenkins 创建保险库部署。这是我的回购的链接

运行脚本时,我得到

“不允许使用 staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods 的脚本编写 java.io.File java.lang.String。管理员可以决定是批准还是拒绝此签名。” 问题。

添加阶段“生成变量”后,我遇到了这个问题。如果我在代码中删除此阶段,其他阶段会起作用,但它们不会完成工作。这是因为它需要获取用于 Vault 部署的令牌,并且需要从 .tfvars 文件中获取它。

在 GitHub 上共享我的变量不是一个好主意,这就是我尝试通过 Jenkins 创建 vault.tfvars 并在运行管道作业之前提供任何令牌的原因。

有谁知道如何解决这一问题???如果有部分不清楚,请随时提问!

如果我找到了此问题的解决方案,我将在此处通过指向我的 GitHub 的链接与大家分享。谢谢

这是我的代码 Jenkinsfile.groovy

node('master') {
  properties([parameters([
    string(defaultValue: 'plan', description: 'Please provide what action you want? (plan,apply,destroy)', name: 'terraformPlan', trim: true), 
    string(defaultValue: 'default_token_add_here', description: 'Please provide a token for vault', name: 'vault_token', trim: true)
    ]
    )])
    checkout scm
    stage('Generate Vars') {
        def file = new File("${WORKSPACE}/vaultDeployment/vault.tfvars")
        file.write """
        vault_token              =  "${vault_token}"
        """
      } …
Run Code Online (Sandbox Code Playgroud)

groovy jenkins jenkins-groovy jenkins-pipeline hashicorp-vault

3
推荐指数
1
解决办法
2万
查看次数