在 Jenkins 中使用 'Credentials Binding Plugin',为密钥库提供密码以与 jarsigner 一起使用?

Using 'Credentials Binding Plugin' in Jenkins, provide password for keystore to use with jarsigner?

我有一个Android项目,正在打包成.apk。现在我想在没有人为干预的情况下将工件签名为詹金斯的一个步骤。但是我不明白如何提供实际密码?

首先,我将 my.keystore 上传到 Jenkins -> Manage Credentials -> Secret file

然后将我的作业配置为:

echo "$myVar" 添加了一个 Execute Shell,打印的值类似于:

+ echo /Users/Shared/Jenkins/Home/secretFiles/1f737ec7-c437-4005-8577-5b28edf158e4/my.keystore
/Users/Shared/Jenkins/Home/secretFiles/1f737ec7-c437-4005-8577-5b28edf158e4/my.keystore

这就是我手动签署 .apk ..

的方式
osx:~ jenkins$ jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my.keystore /Users/Shared/Jenkins/Home/jobs/myProject/workspace/build/outputs/apk/android-release-unsigned.apk myKeystore

凭据绑定插件允许您为每个作业绑定多个凭据。

在 "Use secret text(s) or file(s)" 配置部分,您可以将多个凭据绑定到多个环境变量。

因此在作业配置中的 "Bindings" 下,再次选择 "Add",这次选择 select "Secret text"。

在那里(或通过凭据页面),您可以使用密码添加另一个凭据,并将其映射到另一个环境变量。

如果您的密钥别名密码与密钥库密码不同,您也可以用同样的方式添加。