Travis build - Tidak dapat mengambil kunci rahasia dari file gantungan kunci karena tidak ada

Saat ini saya menggunakan Travis CI untuk proyek open source saya. Semua berjalan baik sampai saya mencoba mengunggah artefak ke repositori pementasan Maven Central setelah pembuatan travis berhasil.

Silakan temukan langkah-langkah yang saya ikuti di bawah ini:

  • Menambahkan file skrip inisiasi-publish.sh yang akan dipublikasikan ke pusat Maven setelah build berhasil.
  • Encrypted the following
    • Encryption password to secure my secring file -> travis encrypt -r username/gitrepo ENCRYPT_PASSWORD="my password"
    • file secring.gpg - openssl aes-256-cbc -in .utility/local.secring.gpg -out .utility/secring.gpg.enc -pass pass:"kata sandi saya" -> Ini menghasilkan secring.gpg.enc yang mana saya ditambahkan ke repositori saya
  • 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

Saya mengkomit file ke Git yang memicu pembangunan. After_success: keluar dengan kesalahan yang menyatakan "Tidak dapat mengevaluasi predikat onlyIf untuk tugas ':android-db-migration-library:signArchives'.

Tidak dapat mengambil kunci rahasia dari file gantungan kunci '/home/travis/build/PalomaMobile/android-db-migration/android-db-migration-library/.utility/local.secring.gpg' karena tidak ada"

Anda dapat melihat log https://travis-ci.org/PalomaMobile/android-db-migration/builds/63114335

Dari apa yang saya pahami, "sebelum instalasi" akan mendekripsi file dan menyimpannya dan skrip rilis saya dapat mengaksesnya.

Bisakah Anda membantu saya memahami mengapa ini terjadi. Anda dapat melihat file .travis.yml saya, file skrip rilis, dll. @ https://github.com/PalomaMobile/android-db-migration


person nmAndroid    schedule 19.05.2015    source sumber
comment
Hai, bisakah Anda mencoba menambahkan perintah di akhir langkah before_install Anda yang mencetak jalur absolut file? misalnya find $PWD | grep "local.secring.gpg". Dengan cara ini Anda dapat membandingkan dengan jalur dari pesan kesalahan. Jika sama, mungkin karena Travis CI menghapus file tersebut setelah langkah 'before_install'.   -  person Dominic Jodoin    schedule 19.05.2015


Jawaban (1)


Saya memeriksa ulang log build Anda dan tampaknya tugas signArchive Anda mengharapkan kunci rahasia berada

/home/travis/build/PalomaMobile/android-db-migration/android-db-migration-library/.utility/generated.secring.gpg

tapi nyatanya letaknya di

/home/travis/build/PalomaMobile/android-db-migration/.utility/generated.secring.gpg

Jadi saya sarankan menggunakan jalur absolut ke file kunci daripada jalur relatif di file .utility/initiate-publish.sh Anda.

Semoga ini membantu!

person Dominic Jodoin    schedule 19.05.2015