在 Jenkins 中使用"凭据绑定插件",为密钥库提供密码以与 jarsigner 一起使用?



我有一个Android项目,被打包成一个.apk。现在我想在这件藏物上签名作为詹金斯的一步,不需要人工干预。但我不明白如何提供实际的密码?

首先,我上传my.keystoreJenkins -> Manage Credentials -> Secret file

然后配置我的工作为:

  • Use secret text(s) or file(s)
  • 设置VariablemVar
  • 设置Specific credentialsmy.keystore

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

+ 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

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

在"使用秘密文本或文件"配置部分,您可以将多个凭据绑定到多个环境变量。

那么在作业配置的"Bindings"下,再次选择"Add",这次选择"Secret text"。

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

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

最新更新