我目前使用Travis CI作为我的开源项目 . 一切顺利,直到我尝试在travis构建成功后将工件上传到Maven Central staging存储库 .
请找到我在下面的步骤:
-
添加了一个init-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文件,包含以下内容
-
before_install: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' .
无法从密钥环文件'/home/travis/build/PalomaMobile/android-db-migration/android-db-migration-library/.utility/local.secring.gpg'中检索密钥,因为它不存在“
你可以查看日志https://travis-ci.org/PalomaMobile/android-db-migration/builds/63114335
根据我的理解,“安装前”将解密文件并存储它,我的发布脚本可以访问它 .
你能帮我理解为什么会这样吗?您可以查看我的.travis.yml文件,发布脚本文件等 . @ https://github.com/PalomaMobile/android-db-migration
1 回答
我仔细检查了你的构建日志,似乎你的
signArchive
任务正在等待秘密密钥/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
文件中的相对路径 .希望这可以帮助!