Сборка Travis - Невозможно получить секретный ключ из файла связки ключей, так как он не существует

В настоящее время я использую Travis CI для своего проекта с открытым исходным кодом. Все шло хорошо, пока я не попытался загрузить артефакт в промежуточный репозиторий Maven Central после успешной сборки travis.

Пожалуйста, найдите шаги, которые я выполнил ниже:

  • Добавлен файл сценария initiate-publish.sh, который будет опубликован в Maven Central после успешной сборки.
  • Encrypted the following
    • Encryption password to secure my secring file -> 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: "мой пароль" -> Это сгенерированный файл secring.gpg.enc, который я добавлен в мой репозиторий
  • Modfied .travis.yml file with the following
    • before_install: openssl aes-256-cbc -pass pass:$ENCRYPTION_PASSWORD -in .utility/secring.gpg.enc -out .utility/local.secring.gpg -d

Я передал файлы в Git, что запустило сборку. After_success: завершается с ошибкой «Не удалось оценить предикат onlyIf для задачи»: 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


person nmAndroid    schedule 19.05.2015    source источник
comment
Привет, не могли бы вы попробовать добавить команду в конце вашего before_install шага, которая печатает абсолютный путь к файлу? например find $PWD | grep "local.secring.gpg". Таким образом вы можете сравнить с путем из сообщения об ошибке. Если это то же самое, это может быть потому, что Travis CI каким-то образом удаляет файл после шага before_install.   -  person Dominic Jodoin    schedule 19.05.2015


Ответы (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 файле.

Надеюсь это поможет!

person Dominic Jodoin    schedule 19.05.2015