当前位置: 首页 > 面试题库 >

将密码作为环境变量注入到构建中

姚伟
2023-03-14
问题内容

我正在尝试通过“构建环境”部分中的选项在jenkins中设置密码,该选项可在我的测试中用于获取和使用密码。这是我正在检查“将密码作为环境变量注入到内部版本”的选项。问题是种子作业运行后,我将失去这些值。因此,我的添加值在种子作业运行后消失了。有人遇到过这个问题吗?如何使其永久化,以便每次我都可以在测试代码中检索到那些密码时?


问题答案:

@daspilker和@JesseGlick,非常感谢您的回复。它帮助我用Jenkins编写了我的第一个configure块。提及我的行为,以便对其他面临相同问题的人有所帮助。

由于我们正在使用Job DSL 1.27,因此我无法直接使用凭据绑定。因此创建了一个configure块,并通过我的.groovy脚本注入了所需的变量

注意:如果收到“找不到credentialsId”错误,则需要从“ * / job / config.xml”获取“
credentialsId”的转换值。

static def credentialsBinding = { String userNameVar, String passwordVar, String credId, wrapperContext ->
    def nodeBuilder = new NodeBuilder()
    wrapperContext.wrapperNodes << nodeBuilder.'org.jenkinsci.plugins.credentialsbinding.impl.SecretBuildWrapper'(plugin: "credentials-binding@1.4") {
        bindings {
            'org.jenkinsci.plugins.credentialsbinding.impl.UsernamePasswordMultiBinding' {
                usernameVariable userNameVar
                passwordVariable passwordVar
                credentialsId credId
            }
        }
    }
}


 类似资料:
  • 问题内容: 我在标题为“将密码作为环境变量注入到构建”的构建配置部分中定义了密码: 我想在“活动选择”中使用MYVAR(未加密的值)。不幸的是,它不起作用。对MYVAR的引用失败。 在下面的示例中,为了进行测试,我只是尝试显示MYVAR的值作为选择。您可以看到它失败了,并改用了fallback active choices脚本。 最终,我想使用此变量对服务进行身份验证以构建选择列表,但是甚至无法在

  • 问题内容: 在詹金斯(Jenkins)的工作中,我正在执行预构建中的一些操作,例如执行Shell脚本。通过使用Jenkins插件“ EnvInject”,我想将环境变量注入到我的Maven构建(单元测试)中,以便可以在Java单元测试中使用这些变量。在shell脚本中,即时消息执行类似以下操作: 在构建Jenkins时,输出以下内容: 但是“ ip”变量在我的Java代码(单元测试)中不可用。当我

  • 在Jenkins的工作中,我正在执行驻留在预步骤构建中的几个操作,例如执行外壳脚本。使用Jenkins插件EnvInject,我想将环境变量注入到我的maven构建(单元测试)中,以便在我的Java单元测试中使用。在外壳脚本IM做类似的事情: 在构建Jenkins时,输出以下内容: 但是“ip”变量在我的Java代码(单元测试)中不可用。当我完整打印两个我没有看到登记的“ip”。 我是否需要为ma

  • 我试图将我从Google Secret Manager获得的秘密作为环境变量注入Kubernetes Pod。 我需要把它作为环境变量,让我的NodeJS应用程序可以读取它。 我尝试了以下解决方案:如何将来自Google secret Manager的secret作为环境变量注入Kubernetes Pod?但对我来说不管用。 我还试图设置一个init容器,但它将秘密作为文件放入pod中。 任何想

  • 这个码头商。yml: 使用这个。env文件(它位于根文件夹中,如docker-compose.yml和Dockerfile): 和节点服务器启动中的以下代码: 我真的更喜欢使用第一种或第二种方法 docker版本:18.06.1-CE docker-compose版本:1.19.0

  • 我已经查看了我们可以在通过dockerfile构建docker映像的同时通过cmd行传递ENV变量吗?这向我展示了如何使用传递环境变量。在看到没有定义环境变量后,我查看了传递环境变量不适用于Docker,但这涉及通过传递环境变量。 这是我的: 和< code>docker build命令: 结果输出: 然而的输出是: 我错过了什么?