gpt4 book ai didi

jenkins - 我们如何使用其他用户凭据执行 Jenkins 作业

转载 作者:行者123 更新时间:2023-12-02 14:52:17 26 4
gpt4 key购买 nike

我需要使用登录的用户凭据通过 Jenkins UI 执行一些 Jenkins 作业,例如“发布到生产”。原因是,我们有单独的支持团队成员,他们可以访问生产框,而不是开发团队成员。因此,为了将任何代码库部署到生产环境,所有 Windows 部署命令(例如,创建、更新文件、文件夹等)都需要使用有权访问 Production Box 的特定用户凭据来运行。因此,即使是无权访问生产框但作为 Jenkins 管理员的开发团队成员,执行相同的作业也会因“访问被拒绝”而导致失败。仅当支持团队成员使用其凭据运行该作业时,该作业才会成功。

我尝试使用参数化插件,但无法将密码成功传递到包含 MSDeploy 指令的批处理文件。甚至 Jenkins 控制台日志也会显示其控制台输出中传递的参数,这是一个安全问题。

我检查了基于角色的安全插件,但这对我没有多大帮助。我只需要一个插件,该插件应要求用户在开始构建作业之前提供其凭据,并应使用用户凭据来执行作业,以便我的 MSDeploy 命令能够在支持时将代码部署到生产框上团队成员使用他们的凭证构建该作业。我希望支持假冒。

现在,所有 Jenkins 作业都使用 Tomcat 服务配置为在托管 Jenkins 上运行的服务帐户执行。

如有任何帮助,我们将不胜感激。

最佳答案

以防万一出现任何困惑,Jenkins 作业将始终以同一操作系统用户运行。基于 Matrix 的安全性适用于登录 Jenkins 服务器的用户并控制创建或启 Action 业等功能。

您可以将作业配置为使用一组通用生产凭据,然后阻止开发人员调用该作业。

也许更好的方法是将构建代码的过程与部署代码的过程分开。下图(取自xebia-france项目)演示了我最喜欢的一些工具Rundeck如何和 Nexus可与 Jenkins 集成.

enter image description here

最后,我强烈建议您阅读以下链接:

关于jenkins - 我们如何使用其他用户凭据执行 Jenkins 作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17205688/

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