Метка «continuous integration» - 5

Первая часть, рассказывающая для чего все это нужно здесь.

Содержание

  • Подготовка
  • Maven
    • Root
      • Build profiles
      • Plugins
    • App
      • Resource filtering
    • Lib
    • Test
  • Заключение
  • Ссылки

Пост рассчитан на читателей уже знакомых с основами maven’а и в ходе статьи акцент будет делаться на каких-то специфических, именно для андроида, моментах, а не на общих вопросах самого мавена. Если же вы до этого ни разу не работали с мавеном, то для начала можно почитать здесь и здесь.

Так же я не буду рассматривать установку и базовую настройку инструментов — JDK, Android SDK, Maven и IntelliJ IDEA должны быть установлены и работать. У вас должны быть настроены соответствующим образом переменные окружения JAVA_HOME, M2, M2_HOME и ANDROID_HOME. Так же, для удобства работы, рекомендую добавить в Path директории %ANDROID_HOME%/tools и %ANDROID_HOME%/platform-tools.

Мне всегда удобнее сначала увидеть всю картину целиком, а потом разбираться в отдельных ее деталях. Поэтому предлагаю вам забрать шаблон проекта с github'а. Все дальнейшее повествование будет вестись на его примере.

Читать полностью »

Данная статья является переводом статьи James Shore "Continuous Integration on a Dollar a Day". Ссылка на эту статью попалась мне в книге "Непрерывное развертывание ПО".

Есть более простой и дешёвый способ осуществления непрерывной интеграции, чем использование сервера сборки подобно CruiseControl. На самом деле, это настолько просто, что вы можете начать её выполнять прямо в эту секунду и прекратить плохо себя чувствовать из-за отдела IT, пока ещё не одобрившего ваш запрос на сервер сборки.
(Хотите небольшой неэтичный секрет? То, что я собираюсь вам рассказать, лучше, чем использование CruiseControl!)
Читать полностью »

Не буду описывать в сотый раз что такое CI и зачем это нужно. Выдумщиком данной концепции считается, не безизвестный, Мартин Фаулер, а с его трудом можно ознакомиться здесь.

Я же хочу в серии из нескольких статей рассказать о том, как организовать разработку Android приложений с использованием непрерывной интеграции. Для меня было не ожиданностью, что несмотря на всю популярность CI, в интернете до сих пор не существует подробной интсрукции, по шагам, для новичков, даже на английском языке, не говоря про русский (ну или я таких попросту не нашел).

В данной нулевой статье цикла мы обозрим сложившуюся унылую ситуацию и набросаем план действий по спасению — то что ожидаем получить в конце и ради чего все затеваем. А затем, постепенно, начнем это воплощать в жизнь. Кого заинтересовал, прошу под кат.
Читать полностью »

Разрешите представить Вам перевод статьи Johannes Schmitt Automated Code Reviews for PHP. Лично мне она помогла несколько иначе взглянуть на процесс разработки и тестирования своих приложений. А оригинальный подход автора к тестированию, как минимум, заслуживает внимания.
Если вам тоже интересно, добро пожаловать под кат.
Читать полностью »

«Вы тестируете? — Возможно.
Все мы согласны, что тестирование – отличная штука, но в реальности доставляет много проблем. В настоящий момент мы занимаемся beta-тестированием партнерского CI сервиса, который предназначен для того, чтобы делать за вас всю тяжелую работу.
Мы работаем над созданием удивительного сервиса CI! Только представьте, что вы сможете использовать исключения для автоматизированного создания тестов! Да, мы работаем над этим!
Ответьте на это сообщение для получения доступа к beta-версии.»

— примерно такие слова в моем вольном переводе с английского я прочитал, зайдя однажды на всем известный airbrakeapp.com, чтобы посмотреть, какие ошибки успели найти юзеры в наших приложениях за ночь.
Читать полностью »

Привет, читатели!
По следам недавно прошедшей конференции DevConf 2012 хочу поделиться записями из своего блокнота, которые показались лично мне наиболее интересными и полезными. Возможно, кому-то все это хорошо известно. Поскольку доклады шли одновременно в нескольких залах, то все их посетить было невозможно, поэтому ваши дополнения с удовольствием почитаю в комментариях.
Темы, которые прежде всего интересовали меня, это:
— развертывание системы и непрерывная интеграция (Continuous Integration)
— PHP 5.4, PHPUnit, Yii
— тестирование в javascript
Читать полностью »

Непрерывная интеграция с помощью Jabber. Изобретаем велосипед?
В любом серьезном проекте в определенный момент встает вопрос организации процесса CI и, следовательно, вопрос о выборе средства для его автоматизации из широкого ряда представленных сейчас на рынке. Часто бывает, что при всем богатстве выбора найти подходящий вариант непросто, а иногда готовое решение является попросту слишком сложным, и выделять ресурсы на его поддержку нет ни желания, ни возможности. Кроме того, не хочется класть все яйца в одну корзину и иметь единственный сервер для сборки, тестирования, хранения дистрибутивов…

В нашей компании родилась идея — поддержать мировую тенденцию децентрализации и разделить CI-сервер на несколько машин, связав их между собой универсальным протоколом, доступным и машине, и человеку. Похоже на изобретение велосипеда? Вовсе нет.
Читать полностью »

Дорогие Хабродрузья! В течение последних 6 месяцев мы готовили к выпуску наше iOS приложение App in the Air для тех, кто часто летаeт. И вот мы уже на финишной прямой. В процессе работы поменялось название, несколько раз перерисовывались экраны, переписывался код практически с нуля, но результаты нам самим очень нравятся. 

image

Ну а так как нам пока что нечего рекламировать — мы еще не выпустились — мы хотели бы поделиться с вами несколькими инсайтами, возникшими в процессе разработки. Это ты мысли, которые бы мы мечтали сказать нам самим полгода назад.

Читать полностью »

image

Наверняка все слышали шумиху вокруг проекта travis-ci.org. Я не являюсь исключением и учитывая, что один из его разработчиков, Джош Калдеримис (Josh Kalderimis), выступивший на прошедшей конференции toster.ru, разжег мой интерес еще больше, то я решил окончательно разобраться, что такое travis-ci и с чем его едят. После прочтения вы узнаете как данный сервис может помочь ruby-разработчикам, а также как ему могут помочь они. Располагайтесь поудобнее, начнем...Читать полностью »

Что имелось вначале

Крупная enterprise-система, являющаяся основной платформой компании. В состав входит ядро системы и набор плагинов под разные задачи. Плагины развиваются независимо друг от друга, требуют внесения изменений и расширений в общие библиотеки.

При развитии и ветвлении системы нахождение всех плагинов в общем проекте усложнило поддержку кода. Постоянно существовало несколько веток в репозитории, что приводило к большим трудностям при подготовке релизов и слиянии изменений.

Поэтому было принято волевое решение создать инфраструктуру и настроить сценарии для автоматизации сборки проекта под разныеЧитать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js