android 在 jenkins 上构建发布 apk,而不以纯文本形式存储我的密码

2023-12-26

我需要能够使用 Jenkins 作业构建我的 apk 的发行版本。

通过阅读以下SO问题

如何使用 Gradle 创建发布签名的 apk 文件? https://stackoverflow.com/questions/18328730/how-to-create-a-release-signed-apk-file-using-gradle?rq=1

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

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

有谁知道我可以隐藏我的密码,但詹金斯工作可以访问它?

Thanks


您可以使用掩码密码插件,它就是这样做的。或者 EnvInject 插件中包含相同的功能,迟早所有 Jenkins 项目都会需要 EnvInject 插件(它可以做许多其他事情),所以不妨现在就开始使用它。

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

  • Install EnvInject 插件 https://wiki.jenkins-ci.org/display/JENKINS/EnvInject+Plugin.
  • Under 詹金斯全局配置, find 全局密码部分。
  • Add a name(这将是环境变量名称)和password(将加星标****)。
  • Under 作业配置, find 搭建环境部分。
  • 复选标记将密码作为环境变量注入到构建中.
  • 然后勾选全局密码.

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

  • 密码变量仅在作业执行时注入(键入$name服务器的命令行本身不会产生任何东西,并且像所有 Jenkins 变量一样,它不是持久的)。
  • 作业控制台日志将显示****而不是密码(如果出现)。
  • 您可以为每个作业配置密码,而不是全局配置,以便其他作业无法使用它。

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

android 在 jenkins 上构建发布 apk,而不以纯文本形式存储我的密码 的相关文章

随机推荐

  • 如何更改 ggplotly 中条形图的悬停背景颜色

    我使用 ggplotly 绘制图表 当光标移动到图表顶部时 我使用工具提示函数来表示条形图中的值 Source Data lt data frame key c 1 1 1 2 2 2 3 3 3 Product Name c Table
  • 安装 Xcode 4.2 后无法使用本机扩展构建 json (1.6.3)

    您熟悉这个错误吗 我不知道如何解决这个问题 Installing json 1 6 3 with native extensions Gem Installer ExtensionBuildError ERROR Failed to bui
  • 单页应用程序的 AppEngine app.yaml 配置

    我的 app yaml 文件遇到问题 我在 AppEngine 上有一个带有 python 运行时的单页应用程序 Angular2 应用程序 但深层链接未正确路由 这是我的 app yaml 文件 runtime python27 api
  • 上传前获取视频尺寸,客户端

    我有一个视频上传表单 用户单击 浏览 并选择一个文件 如何在用户选择文件时 在文件上传到服务器之前 获取视频尺寸 显然 它必须是客户端的东西 可能是 javascript jquery 或 flash flex 不过更喜欢 js jquer
  • Android 上的 ZXing PDF417

    有人能读到吗PDF417 http en wikipedia org wiki PDF417条形码与使用ZXing http code google com p zxing Android 操作系统上的库 他们支持这一点 根据他们的页面 它
  • 替换捕获组

    如果我有一个带有捕获组的正则表达式 例如foo f 如果我将其与字符串匹配并想要替换第一个捕获组在所有比赛中 with baz so that foo f blah foo f 转换为 foobaz blah foobaz 使用标准库似乎没
  • 错误:尝试使用 pip 安装 pocketsphinx 时,pocketsphinx 的构建轮失败

    我尝试安装 pocketsphinx 并收到以下错误 jandornhege JanDornhegeUbuntu Hermes Basefunktions pip install pocketsphinx Collecting pocket
  • SwiftUI 以编程方式从可表示返回到视图

    我正在尝试在新的 swift ui 应用程序中设置 qr 阅读器 我可以用这一行加载 UIKit qr 阅读器视图 NavigationLink destination QRCodeScan Text Scan QR 这是我的 UIView
  • Spring MVC 表单输入值始终为 null

    我是 Spring MVC 的新手 但对 Java 的 Web 开发并不陌生 我正在尝试创建一个简单的表单 gt 控制器示例 我有一个表单 一个表单控制器 在下面粘贴的上下文 XML 中配置 和我的模型 一个简单的 bean 无论如何 当我
  • 分析和优化游戏 android

    我正在制作我的第一个 Android 游戏 它将是一个使用 opengl es 的 3D 街机游戏 我已经为此工作了很长一段时间 主要是优化引擎以适应未来的灵活性 无论如何 现在我已经完全完成了游戏功能和所有漂亮的东西 但它在不是我的调试手
  • 8.3 之后无法在 Spotlight 中使用键盘扩展

    自从我将键盘扩展项目更新到 Swift 1 2 并将设备更新到 iOS 8 3 后 我无法再在 Spotlight 搜索中使用我的扩展 如果我按住 地球 键 则我的分机不在列表中 如果进入 Spotlight 时它是活动键盘 则会使用系统键
  • 在 Jersey 2.22.2 中获取客户端 ip

    我正在尝试访问正在调用我的其余服务器的客户端 IP 但我只得到 null 作为响应 网络服务器正在运行 我可以从网络浏览器访问它 我尝试过 Context HttpServletRequest 并且还与 Context ContainerR
  • 为什么每个线程在扭曲内都有自己的指令地址计数器?

    CUDA 中的扭曲始终包含 32 个线程 并且所有这 32 个线程都运行相同的指令 https stackoverflow com questions 41009824 how to understand all threads in a
  • 将单元测试慢慢集成到项目中所需采取的步骤

    我目前正在与另一名带薪实习生一起完成一个即将完成的项目 由于这个项目是从一个合作社传承到另一个合作社 所以一路上采取了糟糕的做法 并将测试留到最后 我决定编写单元测试以在测试时学习新东西 然而 我正在开发一个 3 层 紧密耦合的应用程序 它
  • 使用块时的 iPhone EXC_BAD_ACCESS

    我正在尝试使用块创建一个简单的回调 我有一个 MainViewController 其中 addSubView 另一个 DatePickerViewController view 我创建了一个像这样的块 typedef void DateC
  • Heroku 上出现“PGError: FATAL: termination connection due to Administrator command” 的原因是什么?

    我在 Heroku 上有一个 Rails 应用程序 用户可以登录 我定期收到此异常 用户会话控制器 ActiveRecord 语句无效 PGError FATAL 正在终止 由于管理员的连接 命令 n服务器关闭连接 出乎意料 n t这可能意
  • emacs 可以为我重新缩进一大块 HTML 吗?

    在 emacs 中编辑 HTML 时 有没有一种方法可以自动漂亮地格式化标记块 更改如下 table tr td blah td tr table 到这个 table tr td blah td tr table 你可以做sgml pret
  • Kapt 无法与 OpenJDK 16 正常工作

    我有一个使用 Kotlin 1 5 0 和 Kapt 作为映射结构的应用程序 我已将 JDK 更新到 16 但出现以下编译错误 Failed to execute goal org jetbrains kotlin kotlin maven
  • 具有破碎阴影效果的路径

    我希望图像足够清晰 我有一个带有阴影效果的三角形 看起来不太好 似乎不知何故被打破了 任何帮助将不胜感激 Update 矩形和路径必须分开 XAML
  • android 在 jenkins 上构建发布 apk,而不以纯文本形式存储我的密码

    我需要能够使用 Jenkins 作业构建我的 apk 的发行版本 通过阅读以下SO问题 如何使用 Gradle 创建发布签名的 apk 文件 https stackoverflow com questions 18328730 how to