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