jenkins上的android build release apk,没有以纯文本格式存储我的密码

 吟伶逸慧喜靖 发布于 2022-12-08 18:29

我需要能够使用Jenkins工作构建我的apk的发布版本.

从阅读以下SO问题

如何使用Gradle创建一个发布签名的apk文件?

我知道我可以通过两种方式之一来做到这一点.要么让用户在cmd提示符下输入密码,要么将我的密码详细信息存储在未提交给git的纯文本文件中,并存放在我的本地计算机上.

但是,在jenkins上运行构建作业时,这些都不会起作用.1)我无法获得用户输入,因为这可能是在半夜运行(即使用户在他们的机器上,我甚至不知道如何从cmd行获取用户输入)2)任何人都可以获得对该构建框的访问权限,可以通过cmd行或在该jenkins服务器上运行的另一个build.gradle作业捕获该文件的内容.

有谁知道无论如何我可以隐藏我的密码,但Jenkins的工作可以访问它?

谢谢

1 个回答
  • 您可以使用Mask Password Plugin,它就是这样做的.或者EnvInject插件中包含相同的功能,并且迟早所有Jenkins项目都需要EnvInject插件(这可以做很多其他事情),所以不妨现在开始使用它.

    在构建/构建后步骤中安全地使用密码

    安装EnvInject插件.

    Jenkins全局配置下,找到全局密码部分.

    添加名称(这将是环境变量名称)和密码(将加星标****).

    作业配置下,找到构建环境部分.

    选中标记将构建密码作为环境变量注入.

    然后选中全局密码.

    在任何构建步骤中,您现在可以使用$name(如前所述)来引用密码,就像在纯文本中键入密码一样.

    密码变量仅在作业执行时注入($name在服务器的命令行上单独输入不会产生任何东西,并且像所有Jenkins变量一样,它不是持久的).

    ****如果出现,作业控制台日志将显示而不是密码.

    您可以为每个作业配置密码,而不是全局,以便其他作业无法使用它.

    唯一的安全问题是,如果某人具有配置作业的管理权限,他们可以写入echo $name > secretpassword.txt构建步骤,然后在工作区中查看该文件.但是你应该小心为谁分配管理权限.

    2022-12-11 02:04 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有