» » » Безопасно подписываем Android сборки из Jenkins

 

Безопасно подписываем Android сборки из Jenkins

Автор: admin от 31-12-2017, 08:30, посмотрело: 39

Перевод https://www.detroitlabs.com/blog/2017/05/24/securely-signing-jenkins-android-builds/



Безопасно подписываем Android сборки из Jenkins

Безопасная подпись Android сборок в Jenkins CI (Continuous Integration, далее просто CI) это общая проблема. Мы попробовали несколько вариантов за всё время разработки и каждый из них выглядел немного грязновато… кроме одного.

Credentials Plugin.

Это легко можно проверить взглянув на левую панель в вашем Jenkins. Если вы видите "Credentials" секцию, как показано ниже, то он установлен.

Если у вас нет секции "Credentials", вам нужно не забыть установить Credentials Plugin, это можно сделать одновременно с установкой Android Signing Plugin.



Установка плагина происходит в несколько не сложных шагов:




  • Выбирете “Manage Jenkins” секцию как показано ниже.

    Безопасно подписываем Android сборки из Jenkins


  • Выберете "Manage Plugins."

    Безопасно подписываем Android сборки из Jenkins


  • Вы должны будете увидеть доступные обновления для текущих плагинов. В верху экрана выберете вкладку "Available".

    Безопасно подписываем Android сборки из Jenkins


  • Теперь вы можете использовать поиск в правом верхнем углу для того, чтобы найти "Credentials Plugin" (Если он не установлен) и "Android Signing Plugin". Поставьте галочки на левой стороне для каждого плагина, затем нажмите "Download now and install after restart" внизу экрана.

    Безопасно подписываем Android сборки из Jenkins


    Отлично!

    Теперь, когда всё установлено, вы можете добавить как минимум один сертификат для подписи приложений. Детальные инструкции по использованию "Credentials Plugin" не являются темой этой статьи, но могут быть легко найдены в интернете. Вам нужно добавить один новый сертификат, как показано ниже.

    Безопасно подписываем Android сборки из Jenkins

    Как видно, плагин поддерживает только PKCS12 сертификаты. К сожалению, последняя версия Android Studio выдаёт JKS сертификаты, которые оказываются несовместимы с плагином.

    Хорошо, что мы имеем удобную утилиту для командной строки "keytool", которая может превратить наш "JKS" в "PKCS12".



    keytool -importkeystore -srckeystore {REPLACE_WITH_JKS_FILE} -srcstoretype JKS -deststoretype PKCS12 -destkeystore ConvertedCertificate.p12


    Как только у вас будет "PKCS12" файл, вы можете загрузить его. Убедитесь, что ввели пароль, до того как загрузили сертификат, иначе Jenkins не сможет загрузить файл. Теперь вы готовы использовать этот сертификат для любых Android сборок.



    Единственно требование к исходному коду, это то что вам нужно оставить "signingConfig" пустым для "buildType", который будет использоваться при сборке Jenkins'ом. Тогда будет создаваться неподписанный APK, который может быть подписан плагином. Имейте в виду, стандартный debug билд подписывается автоматически сгенерированным сертификатом.



    Теперь всё готово для подписи приложений, вам нужно добавить шаг "Sign Android APKs" в вашу сборку. Ниже простой пример, сначала мы запускаем Gradle команду для сборки неподписанного релизного билда. После этого, на следующем шаге мы можем подписать билд. Вы должны выбрать сертификат, который вы хотели бы использовать из хранилища сертификатов, указать алиас ключа и путь к неподписанному APK.

    Безопасно подписываем Android сборки из Jenkins

    Это всё! У вас теперь есть подписанный билд, готовый к распространению сразу же после сборки.



    К слову у Google есть своё хранилище сертификатов, которое частично решает проблему с безопасным хранением ключа.



    Источник: Хабрахабр

  • Категория: Операционные системы » Android

    Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
    Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

    Добавление комментария

    Имя:*
    E-Mail:
    Комментарий:
    Полужирный Наклонный текст Подчеркнутый текст Зачеркнутый текст | Выравнивание по левому краю По центру Выравнивание по правому краю | Вставка смайликов Выбор цвета | Скрытый текст Вставка цитаты Преобразовать выбранный текст из транслитерации в кириллицу Вставка спойлера
    Введите два слова, показанных на изображении: *