В данной статье я хотел бы показать, как можно бесплатно собирать Android проекты (Maven) с открытым исходным кодом на Travis CI.
Читать полностью »
Рубрика «continuous integration» - 15
Сборка Android приложений на Travis CI
2013-11-02 в 17:15, admin, рубрики: android, continuous integration, github, maven, travis-ci, Разработка под android, метки: android, continuous integration, github, maven, travis-ciКак сразу стать «крутым» rails-разработчиком. Cоздание веб-приложения
2013-11-02 в 12:02, admin, рубрики: continuous integration, framework, integration testing, puppet, rails, ruby on rails, rvm, vagrant, автоматизация рутины, администрирование, Веб-разработка, метки: continuous integration, framework, integration testing, puppet, rails, rvm, unit-testing, vagrant, автоматизация рутины, администрированиеСвою первую программу я писал для интерпретатора Basic. Он запускался при включении машины, а после ввода программу можно было выполнить командой RUN.
Многое изменилось с тех пор. Мы говорим о стеках технологий и целых экосистемах в IT. За выполнение каждой прихоти программиста конкурируют несколько систем/библиотек/расширений/модулей/сервис. А выбрать среди них порой так же сложно, как написать свой велосипед.
К психиатру пришел человек с жалобой на невроз.
— А кем же вы работаете? — интересуется доктор.
— Сортировщиком апельсинов на овощной базе. Передо мной желоб, по которому катятся апельсины. Крупные я должен класть в один ящик, а мелкие — в другой.
— Что же нервного в такой работе?
— Как что? Я целый день должен принимать решения, решения, решения.
Далее немного ироничное руководство для тех, кто не хочет ничего решать, а хочет сразу попасть на уровень профи и использовать все модные технологии, минуя долгий путь исследования и выработки собственных предпочтений.
Итак, для создания rails-приложения нам понадобятся
Читать полностью »
Continuous Integration в XCode5
2013-10-30 в 14:33, admin, рубрики: bots, continuous integration, iOS, mobile development, xcode, Блог компании Touch Instinct, разработка под iOS, метки: bots, continuous integration, iOS, xcodeВ пятой версии XCode появился Continuous Integration. Он работает через XCode службу OS X Server ($20, AppStore).
XCode Service умеет все тоже что и любой Continuous Integration сервер, возможно чуть меньше. Огромный плюс — полная интеграция с XCode и свойственная Apple «работа из коробки». Я запустил авто-сборку проекта за полчаса, хотя раньше ни разу не настраивал CI сервер. И не нужно курить мануалы как правильно собирать приложение из командной строки, как включить эмулятор или запустить тесты на устройстве.
coviolations.io теперь beta
2013-10-21 в 9:27, admin, рубрики: continuous integration, Git, Jenkins CI, open source, travis-ci, Блог компании coviolations.io, метки: continuous integration, Jenkins CI, travis-ci
coviolations.io — сервис для визуализации результатов тестов и анализаторов кода сегодня перешёл в стадию beta.
Основные нововведения:
- поддержка приватных репозиториев и репозиториев компаний;
- поддержка xUnit, coverage, jslint;
- выставление статуса коммитам на github;
- добавление аннотаций к коду на github с результатами pep8 и jslint;
- добавление краткой сводки к pull request (только с travis-ci);
- новый модный интерфейс на AngularJS;
- параметры
nofail,nocommentиstderrв.covio.yml.
О том как перестать бояться и полюбить частые релизы
2013-10-21 в 8:48, admin, рубрики: continuous integration, cpan, perl, метки: continuous integration, cpan, perlНадо сказать, что разработчики в принципе склонны не обращать внимание на такие мелочи как тесты и деплой. И ситуация которая на картинке ниже это даже не анекдот, а ситуация свидетели которой, думаю были многие.

Расскажу немного о разработке на моем текущем месте работы.
О структуризации и автоматизации
2013-10-11 в 11:05, admin, рубрики: continuous integration, Песочница, разработка, метки: continuous integration, песочницаХотел бы поделится небольшим опытом по автоматизации и стандартизации процесса разработки. Статья не претендует быть истиной, но я надеюсь будет интерестным чтивом для конца рабочей недели.
В начале было слово
Для начала немножко расскажу с чего все начиналось:
- Репозитарий в котором была только одна основная ветка.
- 5 проектов, которые должны взаимодействовать в единой этосистеме. И еще несколько на подходе.
- Постоянно дополняющиеся требования, приводящие к необратимым изменениям в протоколе общения между всеми компонентами (не самая лучьшая ситуация, но так уже было).
- Каждый из проектов имел свой формат версии. Одни основывались на ревизии, другие на дате, третье и на том и на том.
- Отсутсвие какой либо соглассованности между всеми компонентами (была только на словах).
- Отсутсвие какой либо автоматизации процессов (что то всетаки было, но не густо).
- Отсутствие единого хранилища всех дистрибутивов (одни хранились в svn, другие в Track Studio, третье пересобирались каждый раз из исходников (было забавно смотреть как тестировщики выгружали из svn исходники приложения и делали make clean all что бы получить новый бинарник для тестироания)).
Как релизится GitHub
2013-10-09 в 21:37, admin, рубрики: continuous delivery, continuous integration, Git, github, ит-инфраструктура, разработка, метки: continuous delivery, continuous integration, Git, githubYac 2013 посетил Jason Rudolph из GitHub. Я считаю его доклад про API был одним из самых интересных на конференции. Яндекс обещал выложить в сеть записи, так что советую на досуге посмотреть его всем, кто не видел.
Но речь пойдет не о докладе. На картинке график релизов GitHub на продакшн.

Когда я услышал цифру, я не поверил своим ушам. У GitHub'а сотни обновлений в неделю. В команде около сорока разработчиков и ни одного QA.
К счастью Джейсон после доклада еще какое-то время находился рядом со сценой и я смог расспросить его с пристрастием о том как они это делают.
Читать полностью »
Непрерывная интеграция проектов .NET: NAnt и/или MSBuild?
2013-09-16 в 13:25, admin, рубрики: .net, continuous integration, msbuild, nant, Программирование, разработка, метки: c++, continuous integration, msbuild, NAnt, net frameworkПривет всем читателям !
Не так давно я начал использовать для сборки сервером непрерывной интеграции некоторых проектов NAnt наряду с уже освоенным MSBuild. Как всегда, в процессе работы обнаруживаются бонусы с разными знаками (как плюс, так и минус). Тех, кому интересны детали сборки разными движками (MSBuild, NAnt) в контексте сервера CI, с удовольствием приглашаю под кат.

Отчёты и графики для travis-ci и drone.io
2013-09-11 в 17:42, admin, рубрики: continuous integration, django, mongodb, python, redis, travis-ci, разработка, метки: continuous integration, Django, mongodb, python, redis, travis-ci 
В больших проектах уже довольно давно привык к плюшкам ci: прогону тестов, отчётам и автоматическому деплою. При разработке небольших проектов этого не хватает. 1 и 3 покрывает travis-ci(ну или drone.io), но вот визуализации результата нет никакой.
И сразу придумалось простое решение:
- прогонять анализаторы на стороне ci;
- отправлять их себе;
- парсить результат и красиво отображать.
И это всё вылилось в небольшое приложение — coviolations.io(исходники сервера и приложения), сейчас оно
- работает с публичными и приватными репозиториями на github;
- работает с travis-ci, drone.io и при желании с jenkins;
- умеет парсить результат pep8, sloccount, python unittest, pip-review и testem;
- умеет рисовать статус-плашку
; - не умеет работать с репозиториями организаций.
Yii, непрерывная интеграция — как не сломать все
2013-08-23 в 18:56, admin, рубрики: continuous integration, php, phpunit, selenium, yii, Проектирование и рефакторинг, тестирование, тестирование веб-приложений, метки: continuous integration, PHP, phpunit, selenium, yii, тестирование веб-приложенийМы часто экспериментируем с архитектурой, кодом, производительностью. Постоянно добавляем новый функционал. Мы постепенно обвязываем Yii своей “архитектурной” прослойкой — шардинг, работа с временно недоступными данными, разнообразные кеши и многое другое. Да, плод нашей работы, когда он будет заврешен, пойдет в Open Source.
Задача применяемой у нас Непрерывной Интеграции (Continuous Integration, CI) — не тестирование. Задача CI — обезопасится от разрушительных изменений в следствие рефакторинга, добавления нового функционала, изменений архитектуры. Также мы защищаемся от “плохого кода”, часто повторяющихся багов, “кривых” merge.
Для своего CI мы используем Jenkins под Debian. Время на развертку CI я затратил 12 часов — до полностью рабочего состояния. На поддержку CI я не трачу ни минуты в день — я не пишу тесты на каждую мелочь, не практикую TDD. Тем не менее, CI работает и спасает нас от глупых ошибок.
“Давайте будем внимательней”/”Давайте не делать ошибок” — взывал я к разработчикам, но это помогало лишь временно и то не на все 100%. Людям свойственно ошибаться, забывать, совершать оплошности. Нет, я не изобрел “серебряную пулю” для web-проектов и даже маленьку пульку для Yii — я придумал как стабилизировать свое приложение. Ваше приложение отличается от моего и мои методы у Вас могут не работать, да и не должны — я же делал их не для Вашего приложения, если мои методы работаю у Вас — примите это как чудо или как везение. Зато идея такого CI будет работать везде. Всего лишь идея.

