如何通过 Jenkins 替换文件中找到的令牌?

问题描述 投票:0回答:1

我使用 Microsoft Team Foundation Server (TFS) 进行大部分软件部署。 TFS 允许我在发布到特定环境(开发、测试、生产)的过程中动态替换特定配置文件中的文本。

它替换的文本是称为“标记”的占位符。例如,在我的自动化部署过程中,TFS 将允许我们将配置文件中找到的令牌替换为每个环境的构建管理中保存的预定义值。这样,我就不会在任何环境的源代码管理中存储任何真实的凭据。我也不在源代码中存储任何保存这些敏感凭据的脚本。凭证在发布期间动态插入到令牌之上,并且凭证在发布系统内部托管/保存/配置(而不是在脚本中)。

例如,我有一个包含令牌的配置文件(web.config)。令牌看起来像这样:

MySettingName=${MYSETTINGVALUE}

在向 DEV 发布期间,我希望将文本 ${MYSETTINGVALUE} 替换为单词 10。在发布到 PROD 期间,我希望将相同的 ${MYSETTINGVALUE} 文本替换为单词 ORANGE。我想将这两个值(十和橙色)存储在发布管理系统中,而不是存储在脚本中。

如何配置 Jenkins 来做同样的事情?

我已经上下搜索了这个具体答案。虽然存在许多博客、文章、文档,但没有一个直接讨论这个问题。

  • 我不想使用一些额外的第三方软件来做 这个。

  • 我不想开始一些手动构建并提供这些 珍惜每一次。

  • 我也不想使用操作系统级别的系统 变量(又名环境变量)。万一服务器死了,我 宁愿不必记住设置那些操作系统环境 下一个服务器上的变量。

jenkins jenkins-pipeline continuous-deployment
1个回答
0
投票

Jenkins 有一个内置的凭据插件,用于处理构建中的机密。 有关如何使用它们的信息,请参阅这篇文章:https://docs.cloudbees.com/docs/cloudbees-ci/latest/cloud-secure-guide/injecting-secrets

基本上,它安全地存储凭据并将它们作为变量注入到您的作业中,然后可以像其他任何东西一样使用。

© www.soinside.com 2019 - 2024. All rights reserved.