gpt4 book ai didi

jenkins - 获取所有 secret 并将其放入 Jenkins 和 hashicorp 保险库的 env 文件中

转载 作者:行者123 更新时间:2023-12-04 13:38:20 24 4
gpt4 key购买 nike

目前我们正在构建一个 jenkins 部署管道。在这些构建中,我们使用 HachiCorp 保险库进行 secret 管理。为了获取 secret ,我们使用 hashicorp-vault-plugin .问题是我们想在管道脚本上声明所有变量,就像这样 - 测试','testing_again', secret /another_test (我们不想那样)

node {
// define the secrets and the env variables
// engine version can be defined on secret, job, folder or global.
// the default is engine version 2 unless otherwise specified globally.
def secrets = [
[path: 'secret/testing', engineVersion: 1, secretValues: [
[envVar: 'testing', vaultKey: 'value_one'],
[envVar: 'testing_again', vaultKey: 'value_two']]],
[path: 'secret/another_test', engineVersion: 2, secretValues: [
[vaultKey: 'another_test']]]
]

// optional configuration, if you do not provide this the next higher configuration
// (e.g. folder or global) will be used
def configuration = [vaultUrl: 'http://my-very-other-vault-url.com',
vaultCredentialId: 'my-vault-cred-id',
engineVersion: 1]
// inside this block your credentials will be available as env variables
withVault([configuration: configuration, vaultSecrets: secrets]) {
sh 'echo $testing'
sh 'echo $testing_again'
sh 'echo $another_test'
}
}

But need some things like this -


  • 获取所有 secret 作为键和值
  • 在构建项目之前放置一个 env 文件
  • 构建项目后,销毁 env 文件。

  • 是否可以通过 jenkins hashicorp-vault-plugin 或者通过 curl 从保险库中获取这些 secret 并通过 shell 推荐进行处理(示例很棒)。

    最佳答案

    在 Vault 插件中不可能将 secret 放入文件中。只能立即放入环境变量。在 env 中存储后,您可以做任何您想做的事情 :) 您可以做类似的事情

    sh 'echo $YOURVAR > .env'

    Get all the secret as key and valueby vault concept you should know secret name for access to it. not sure how it should be in your case


    p.s 如果您需要可以使用的文件凭据
    证书
    凭据绑定(bind)
    Jenkins 的插件

    关于jenkins - 获取所有 secret 并将其放入 Jenkins 和 hashicorp 保险库的 env 文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60494667/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com