我有一个Android
项目,被打包成一个.apk
。现在我想在这件藏物上签名作为詹金斯的一步,不需要人工干预。但我不明白如何提供实际的密码?
首先,我上传my.keystore
到Jenkins -> Manage Credentials -> Secret file
。
然后配置我的工作为:
-
Use secret text(s) or file(s)
- 设置
Variable
为mVar
- 设置
Specific credentials
为my.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"。
在这里(或通过凭据页面),您可以添加另一个凭据和密码,并将其映射到另一个环境变量。
如果您的密钥别名密码与密钥存储库密码不同,您也可以以同样的方式添加它。