【发布时间】:2018-11-20 02:32:14
【问题描述】:
我正在尝试为我的 Android 应用程序配置持续集成构建。 我使用 CircleCi 平台。 现在我将我的应用程序 Keystore.jks 文件存储在本地,但 CircleCi 需要它来签署我的应用程序。 如果不将文件存储在我的 git 存储库中,如何实现这一点?或者也许我不应该担心存储库是私有的?
我的 gradle 签名配置:
signingConfigs {
if (System.getenv("CIRCLECI")) {
release {
keyAlias '****'
keyPassword '****'
storeFile file(System.getenv("******"))
storePassword '****'
}
}else{
release {
...
}
}
}
我的circle.yml:
general:
artifacts:
- /home/ubuntu/my-app/app/build/outputs/apk/
machine:
environment:
ANDROID_HOME: /usr/local/android-sdk-linux
dependencies:
override:
- chmod +x gradlew
test:
override:
- ./gradlew assemble
我尝试将 CircleCi 上的密钥库文件保存为环境变量,但它不起作用,我的构建失败并出现异常:
> Execution failed for task ':app:validateSigningDemoRelease'.
> > Keystore file /home/ubuntu/my-app/app/ HERE_IS_THE_KEYSTORE not found for signing config 'release'.
未签名和调试构建成功完成。
如果您提出其他建议,我也愿意使用任何不同的 ci 平台。
提前感谢您的每一个建议!
【问题讨论】:
-
您的问题的最终解决方案是什么?
标签: android continuous-integration keystore circleci jks