首页 文章

Travis构建 - 无法从密钥环文件中检索密钥,因为它不存在

提问于
浏览
1

我目前使用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 回答

  • 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 文件中的相对路径 .

    希望这可以帮助!

相关问题