Otomatik derlememiz Jenkins üzerinde çalışıyor. Yapının kendisi, SSH aracılığıyla slave'lerin çalıştırılmasıyla slave'ler üzerinde çalışıyor.
Bir hata alıyorum:
00:03:25.113 [codesign-app] build/App.app: User interaction is not allowed.
Şimdiye kadar gördüğüm her öneriyi buradaki diğer yazılarda denedim:
- Anahtar zincirinin kilidini açmak için imzalamadan hemen önce güvenlik kilidi açma anahtar zincirini kullanma.
- İmzalama anahtarını kendi anahtar zincirine taşımak.
- İmzalama anahtarını oturum açma anahtar zincirine taşıma.
- İmzalama anahtarını sistem anahtar zincirine taşıma.
- Liste anahtar zincirlerini yalnızca anahtarı içeren anahtar zincirine manuel olarak ayarlama.
Her durumda aynı hatayı alıyorum.
Sorunu teşhis etme girişiminde, yerel terminalimde "güvenlik kilidi açma-anahtar zinciri" komutunu çalıştırmayı denedim ve bunun aslında anahtar zincirinin kilidini açmadığını fark ettim - Anahtar Zinciri Erişimi'ne bakarsam, kilit sembolü hala orada. Bu, parolayı komut satırından geçip geçmediğim veya benden istemesine izin verip vermediğimdir. GUI'yi kullanarak aynı anahtar zincirinin kilidini açmak, benden şifreyi soracak ve ardından kilidi açacaktır. Ben çalıştırırsanız Ayrıca, ben, "güvenlik kilidi-Anahtarlık" do hemen komutu çalıştırdıktan sonra tuş kilidi bakın. Bu bana, kilit açma anahtarının aslında çalışmadığını düşündürüyor. Aynı davranışı Lion'da (inşa köleleri için kullandığımız) ve Mavericks'te (üzerinde geliştirdiğim) yaşıyorum.
Sonra, tüm güvenlik komutlarına -v eklemeyi denedim:
list-keychains "-d" "system" "-s" "/Users/tester/.secret/App.keychain"
Listing keychains to see if it was added: ((
"/Library/Keychains/System.keychain"
))
unlock-keychain "-p" "**PASSWORD**" "/Users/tester/.secret/App.keychain"
build/App.app: User interaction is not allowed.
Bundan, işe yaramayan şey liste anahtar zincirleri gibi görünüyor. Belki ikisi de işe yaramaz. : /
Burada benzer bir soru var . Çözüm ilginç - launchctl'de "SessionCreate" öğesini true olarak ayarlayın. Ancak, master üzerine inşa etmiyorum - yapım sürecim bir slave yapım makinesinde SSH'den başlatılıyor. Belki "SessionCreate" çalıştırdığınızda launchctl'nin yaptığı şeyi yapmanın bir komut satırı yolu vardır?