我目前在我的开源项目中使用 Travis CI。一切顺利,直到我尝试在 travis 构建成功后将 Artifact 上传到 Maven Central 暂存存储库。
请在下面找到我遵循的步骤:
- 添加了一个 initiate-publish.sh 脚本文件,该文件将在构建成功后发布到 Maven 中心。
- 加密以下内容
- 加密密码以保护我的加密文件 -> travis encrypt -r username/gitrepo ENCRYPT_PASSWORD="my password"
- secring.gpg 文件 - openssl aes-256-cbc -in .utility/local.secring.gpg -out .utility/secring.gpg.enc -pass pass:"my password" -> 这生成了我添加到我的存储库中的 secring.gpg.enc
- 使用以下内容修改 .travis.yml 文件
- 安装前: openssl aes-256-cbc -pass pass:$ENCRYPTION_PASSWORD -in .utility/secring.gpg.enc -out .utility/local.secring.gpg -d
我将文件提交给触发构建的 Git。 after_success: 退出并显示错误 “无法评估任务 ':android-db-migration-library:signArchives' 的 onlyIf 谓词。
Unable to retrieve secret key from key ring file '/home/travis/build/PalomaMobile/android-db-migration/android-db-migration-library/.utility/local.secring.gpg' as it does not exist"
可以查看日志https://travis-ci.org/PalomaMobile/android-db-migration/builds/63114335
据我所知,“安装前”将解密文件并存储它,我的发布脚本可以访问它。
你能帮我理解为什么会这样吗?您可以查看我的.travis.yml 文件、发布脚本文件等。@ https://github.com/PalomaMobile/android-db-migration
最佳答案
我仔细检查了您的构建日志,您的 signArchive
任务似乎期望 key 位于
/home/travis/build/PalomaMobile/android-db-migration/android-db-migration-library/.utility/generated.secring.gpg
但实际上它位于
/home/travis/build/PalomaMobile/android-db-migration/.utility/generated.secring.gpg
所以我建议在您的 .utility/initiate-publish.sh
文件中使用 key 文件的绝对路径而不是相对路径。
希望这对您有所帮助!
关于android - Travis 构建 - 无法从 key 环文件中检索 key ,因为它不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30316403/