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