В этом посте будет показано, как автоматизировать процесс развертывания приложения Android с помощью Jenkins Continuous Integration — для создания проекта, запуска модульных тестов (если таковые имеются), архивации встроенных артефактов и запуска отчетов Android lint.
1. Установите Jenkins в качестве службы Windows
Перейдите на веб-сайт jenkins-ci.org с помощью интернет-браузера и загрузите собственный пакет Windows (ссылка подчеркнута для упрощения идентификации), как показано на правой боковой панели вкладки «Загрузить Jenkins».
После завершения загрузки разархивируйте zip-файл и щелкните файл jenkins-1.xxx.msi. Выполните шаги по настройке, чтобы установить Jenkins как службу Windows.
2. Изменить порт Jenkins по умолчанию
По умолчанию Jenkins работает на порте 8080. Чтобы избежать конфликта с другими приложениями, порт по умолчанию можно изменить, отредактировав файл jenkins.xml, находящийся в C: \ Program Files (x86) \ Jenkins location. Как показано ниже, измените httpPort на 8082.
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
|
< service > < id >jenkins</ id > < name >Jenkins</ name > < description >This service runs Jenkins continuous integration system.</ description > < env name = "JENKINS_HOME" value = "%BASE%" /> <!-- if you'd like to run Jenkins with a specific version of Java, specify a full path to java.exe. The following value assumes that you have java in your PATH. --> < executable >%BASE%\jre\bin\java</ executable > < arguments >-Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "%BASE%\jenkins.war" --httpPort=8082</ arguments > <!-- interactive flag causes the empty black Java window to be displayed. I'm still debugging this. <interactive /> --> < logmode >rotate</ logmode > < onfailure action = "restart" /> </ service > |
Как только изменение будет сохранено в файле jenkins.xml, перезапустите службу Jenkins из диспетчера задач Windows -> Службы, щелкните правой кнопкой мыши службу Jenkins и выберите «Остановить службу», чтобы остановить службу, как показано ниже.
Как только статус службы изменится на остановленный, перезапустите службу, щелкнув правой кнопкой мыши службу Jenkins и выберите «Запустить службу», чтобы снова запустить службу.
Перейдите к localhost: 8082, чтобы проверить, был ли перезапуск Jenkins успешным, как показано ниже — будет отображаться панель управления Jenkins. Обратите внимание, что требуется некоторое время, прежде чем сервис Jenkins станет доступным.
3. Установите плагины
На панели управления Jenkins перейдите к разделу «Управление Jenkins -> Управление плагинами», как показано на снимке ниже.
Установите следующие плагины и перезапустите Jenkins, чтобы изменения вступили в силу.
- Git Plugin (для интеграции Git с Jenkins)
- Gradle Plugin (для интеграции Gradle с Дженкинсом)
- Android Lint Plugin (для интеграции Lint с Дженкинсом)
4. Настройте систему
На панели управления Jenkins перейдите к разделу «Управление Jenkins -> Настройка системы», как показано на снимке ниже.
Перейдите в раздел «Глобальные свойства» и нажмите «Добавить», чтобы добавить переменную среды ANDROID_HOME, как показано на снимке ниже. Введите имя как ANDROID_HOME и введите путь к папке, в которой Android SDK хранится в Windows.
Перейдите в раздел JDK и нажмите «Добавить JDK», чтобы добавить установку JDK, как показано на снимке ниже. Укажите имя JDK, выберите версию JDK для установки и следуйте инструкциям на экране, чтобы сохранить учетные данные для входа в Oracle. Сохраните изменения.
Затем перейдите к разделу Git и нажмите «Добавить Git», чтобы добавить установку Git, как показано на снимке ниже. Укажите Git Name, укажите путь к исполняемому файлу Git и сохраните изменения.
Затем перейдите к разделу Gradle и нажмите «Добавить Gradle», чтобы добавить установку Gradle, как показано на снимке ниже. Укажите имя Gradle, выберите подходящую версию (на момент написания я использовал Gradle 1.10) и сохраните изменения.
Затем перейдите к разделу «Уведомление по электронной почте» и введите сведения о SMTP-сервере, как показано ниже. Нажмите кнопку «Дополнительно», чтобы добавить необходимые дополнительные сведения и сохранить изменения. Нажмите «Тестовая конфигурация путем отправки тестового электронного письма», введите получателя тестового электронного письма и нажмите «Тестовая конфигурация», чтобы увидеть, успешно ли отправлено электронное письмо.
5. Создать новую работу Дженкинс
На панели инструментов Jenkins нажмите «Новая работа», чтобы создать новую работу. Введите имя для работы и выберите «Создать проект программного обеспечения в свободном стиле» в качестве опции и нажмите OK, как показано ниже.
На экране «Конфигурация нового задания» перейдите к разделу «Управление исходным кодом». Сохраните учетные данные Git, нажав «Добавить», как показано ниже, и введите данные в следующем диалоговом окне. Сохраните изменения, нажав «Добавить», как показано ниже.
Укажите URL-адрес хранилища Git для проекта, выберите сохраненные учетные данные в раскрывающемся списке, как показано на снимке ниже. Сохраните изменения.
Затем в разделе «Построение триггеров» выберите нужные параметры, как показано ниже, и сохраните изменения.
Перейдите в раздел Build, выберите «Invoke Gradle script» из выпадающего списка вариантов «Add step build». Выберите соответствующую версию Gradle, которая настроена, введите задачи для сборки и выберите нужные параметры. Сохраните изменения.
Перейдите к разделу Действия после сборки, нажмите «Опубликовать результаты Android Lint» в раскрывающемся списке вариантов «Добавить действие после сборки» и укажите место, где результаты Lint должны храниться в рабочей области Jenkins для работа.
Аналогичным образом, нажмите «Архивировать артефакты» в раскрывающемся списке вариантов «Добавить действие после сборки» и укажите формат файлов APK, которые будут архивироваться после каждой сборки. Кроме того, для экономии места на диске можно включить параметры из раздела «Дополнительно», такие как «Отменить все, кроме последнего успешного / стабильного артефакта для экономии места на диске».
Нажмите «Уведомление по электронной почте» в раскрывающемся списке вариантов «Добавить действие после сборки» и введите значения для получателей электронной почты, как показано ниже. Сохраните изменения.
6. Построить сейчас
После завершения вышеуказанных шагов настройки нажмите «Build Now» под Jenkins -> Build Android Application (или соответствующим именем задания), чтобы построить проект на основе конфигурации.
Вывод на консоль содержит подробные журналы того, какие шаги были инициированы конфигурацией и результатом всей сборки. Нажатие на любой успешный результат сборки показывает артефакты, которые были заархивированы как часть сборки, изменения, которые начали сборку, и результаты lint, как показано ниже.
Таким образом, весь процесс создания проекта приложения Android при каждом изменении SCM или при другом условии, запуск отчетов lint, архивация созданных артефактов, публикация отчетов lint и запуск электронных писем получателям могут быть автоматизированы одним нажатием кнопки. через Дженкинс.
Ссылка: | Автоматизация непрерывной интеграции проектов Android с Gradle Использование Jenkins в Windows от нашего партнера по JCG Элизабет Томас в блоге « Мои эксперименты с технологией» . |