本地我正在使用gradle.properties文件来存储构建所需的一些秘密。这很好用。我正在阅读Gradle文档,看起来环境变量可以换出并以相同的方式使用。 Here are the relevant docs I was reading.
然而,当我在我的CI服务器(CircleCI)中设置env vars时,它们似乎无法被接收。
这是我的build.gradle文件的相关块看起来像
signingConfigs {
release {
if (project.hasProperty('RELEASE_STORE_FILE')) {
storeFile file(RELEASE_STORE_FILE)
storePassword RELEASE_STORE_PASSWORD
keyAlias RELEASE_KEY_ALIAS
keyPassword RELEASE_KEY_PASSWORD
}
}
}
我已经使用完全相同的名称设置env变量,当我在构建服务器上执行printenv
时,我可以看到它们很好。
但是如果我运行构建,我会收到一个关于没有密钥文件的错误。如果我在上面的代码中添加了一个else语句,并且println
a" No Property"记录消息,我确实看到Gradle并不存在该属性。
想法?