我正在尝试使用 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