我需要使用登录的用户凭据通过 Jenkins UI 执行一些 Jenkins 作业,例如“发布到生产”。原因是,我们有单独的支持团队成员,他们可以访问生产盒,而不是开发团队成员。因此,为了将任何代码库部署到生产环境,所有 Windows 部署命令(例如,创建、更新文件、文件夹等)都需要使用有权访问 Production Box 的特定用户凭据运行。因此,即使是无法访问生产框但是 Jenkins 管理员的开发团队成员,执行相同的作业也会因“拒绝访问”而导致失败。仅当支持团队成员使用其凭证运行该作业时,该作业才能成功。
我尝试使用参数化插件,但无法成功将密码传递给包含 MSDeploy 指令的批处理文件。甚至 Jenkins 控制台日志也会显示在其控制台输出中传递的参数,这是一个安全问题。
我检查了基于角色的安全插件,但这对我没有多大帮助。我只需要一个插件,它应该要求用户在开始构建作业之前提供他们的凭据,并且应该使用用户凭据来执行作业,这样我的 MSDeploy 命令将能够在生产盒上部署代码,当支持团队成员使用他们的凭证构建该作业。我希望有人支持模仿。
现在,所有 Jenkins 作业都使用托管 Jenkins 的 Tomcat 服务配置为运行的服务帐户执行。
任何帮助,将不胜感激。