2015-10-27 2 views
1

Я пытаюсь создать проект Xamarin Touch из сборки Jenkins, который не выполняется на этапе подписи кода.Подписание кода для iOS только для Jenkins

Мои сертификаты и ключи находятся в системном брелках, поэтому должны быть доступны Дженкинсу. У меня нет проблем с подделкой кода при создании проекта:

  • Использование Xamarin Studio.
  • Использование /bin/bash и xbuild вошло в систему как пользователь Jenkins.
  • Использование /bin/sh и xbuild вошло в систему как пользователь Jenkins.

Единственный раз, когда проблема с подписями кода видна, когда сам Jenkins строит.

Ошибка в «Пользовательском взаимодействии не допускается», я затрудняюсь объяснить, что происходит неправильно для сборки Jenkins, когда все работает как пользователь Jenkins, когда я запускаю ту же команду из оболочки.

+0

Dup? http://stackoverflow.com/questions/20205162/user-interaction-is-not-allowed-trying-to-sign-an-osx-app-using-codesign и http: //www.egeek.me/2013/02/23/jenkins-and-xcode-user-interact-is-not-allowed/ – SushiHangover

+0

Я думаю, что проблема похожа, но немного другая, я уже переместил все в системный брелок, поэтому все должно иметь доступ теперь по умолчанию. Сам брелок должен быть в порядке, потому что все отлично работает за пределами Дженкинса, даже когда я зарегистрирован как Дженкинс в оболочке. – user3617723

ответ

0

Таким образом, моя проблема заключалась в том, что мои ключи подписи кода по-прежнему находились в цепочке ключей для входа в систему, а также в системном брелках.

Я предполагаю, что это означало, что сборка сначала увидела ключи в цепочке для входа в систему, но затем провалилась, потому что это не было разблокировано.

Как только я удалил их из брелка для входа в систему, они были только в системном брелках, он начал работать.

Я до сих пор не знаю, почему это было проблемой только внутри Дженкинса, поскольку все работало нормально, используя оболочку, зарегистрированную как Дженкинс.

1

Вы можете попробовать импортировать свои учетные данные в области учетных данных Jenkins.

из here:

Разрешение Дженкинс на сцену профиля разработчика Этот плагин опирается на верхних по проверке полномочий подключаемых модулей, чтобы позволить вам сохранить ваш Apple, разработчик профиля (* .developerprofile файл). Этот файл содержит код подписи закрытый ключ, соответствующие сертификаты разработчика/распространения и профили мобильных профилей. Вы можете создать этот файл из своего XCode.

Чтобы загрузить профиль разработчика в Jenkins, перейдите на страницу «Управление « Учетные данные »на странице конфигурации системы и выберите« Apple «Профиль разработчика» из кнопки «Добавить». Дополнительную информацию см. В разделе Плагин учетных данных для .

Чтобы использовать этот профиль для подписания, добавьте «Импорт профиля разработчика» как этап построения перед запуском xcode и выберите профиль разработчика для импорта в машину сборки. Этот шаг сборки установит профиль разработчика в брелок ведомого.

+0

Все это делается на одном главном окне Jenkins, поэтому у них не должно быть проблем с доступом к цепочке ключей, поскольку я сказал, что я поместил необходимые сертификаты и ключи в системный брелок. – user3617723

Смежные вопросы