【发布时间】:2017-01-14 22:22:59
【问题描述】:
以为我会通过搜索找到答案,但没有运气。我计划自动化我的构建过程并通过我的 Jenkins 服务器上的fastlane 将构建上传到Crashlytics Beta。 Crashlytics beta 需要签名的 APKS,但我当然不想将我的 keystore 和密码直接添加到我的 build.gradle 文件中,然后再添加到版本控制中。
我被指向 Jenkins 环境变量的方向。这就是我在我的 Android 项目中所拥有的:
signingConfigs {
release {
storeFile file(ANDROID_KEYSTORE)
storePassword ANDROID_STORE_PASSWORD
keyAlias ANDROID_KEY_ALIAS
keyPassword ANDROID_STORE_PASSWORD
}
}
然后在我的gradle.properties 文件中,我有以下内容:
ANDROID_KEYSTORE=$ANDROID_KEYSTORE
ANDROID_STORE_PASSWORD=$ANDROID_STORE_PASSWORD
ANDROID_KEY_ALIAS=$ANDROID_KEY_ALIAS
当我尝试通过fastlane 在jenkins 上构建我的项目时,我收到以下错误:
* What went wrong:
Execution failed for task ':app:validateReleaseSigning'.
> Keystore file /Users/macmini/.jenkins/workspace/AndroidProject/app/$ANDROID_KEYSTORE not found for signing config 'release'.
另一件事,我在终端中有 env,它向我显示了所有系统 env 变量,我定义的那些变量不存在,所以我不完全确定 Jenkins 将它们放在哪里。我需要直接路径吗?那会是什么?
感谢任何帮助,谢谢!
【问题讨论】:
标签: android jenkins environment-variables fastlane