Эта статья в первую очередь пригодится тем, кто использует тот же стек технологий, что и наша команда, а именно: ASP.NET, C#, NUnit, Selenium 2, git, MSBuild. Будут рассмотрены такие задачи, как интеграция с git, сборка C#-проектов, NUnit-тесты (как модульные, так и тесты UI), а также деплой на сервер. Впрочем, наверняка найдётся интересное и для других пользователей, кроме разве что съевших на этом вопросе собаку. Но они опять же смогут обратить внимание на ошибки в статье или что-то посоветовать: например, как оптимизировать фазу деплоя.
Читать полностью »
Метка «непрерывная интеграция»
Настройка TeamCity для новичков
2013-12-10 в 2:58, admin, рубрики: .net, ASP.NET, Git, msbuild, nunit, teamcity, Блог компании СКБ Контур, непрерывная интеграция, метки: ASP.NET, c++, Git, msbuild, nunit, teamcity, непрерывная интеграцияНепрерывная интеграция в Селектеле
2013-11-20 в 10:14, admin, рубрики: continuous integration, selectel, Блог компании Селектел, непрерывная интеграция, разработка, селектел, метки: continuous integration, selectel, непрерывная интеграция, селектел
Чтобы выпустить готовый к использованию программный продукт, мало просто написать код. После того, как программисты завершили свою работу, требуется еще довольно много времени, чтобы представлять продукт широкой пользовательской аудитории. Сделать, казалось бы, нужно всего ничего: объединить все, что написано разными разработчиками, создать установщик, подготовить документацию. Нередко программисты даже не представляют себе, сколько времени занимают рутинные операции. Часто возникает такая ситуация: все торопятся, и тем самым только умножают количество ошибок и недочетов. На устранение недочетов тоже требуется определенное время — и релиз продукта приходится отложить на неопределенной срок.
Программный продукт должен постоянно развиваться, «обрастая» новой функциональностью и становясь более удобным в использовании. Но по мере развития проектов рутинной работы, как правило, также становится больше, а времени на то, чтобы думать об улучшении проекта, совершенно не остается.
Ситуации, о которых идет речь, знакомы нам не понаслышке. Было время, когда наши программисты собирали все пакеты вручную. Но проектов становилось все больше, и количество рутины росло. А вот времени на размышления о развитии и совершенствовании продуктов становилось все меньше и меньше. Нужно было что-то менять, и мы задумались о внедрении непрерывной интеграции.
Читать полностью »
Использование Docker-контейнеров как Jenkins-нод
2013-10-30 в 19:19, admin, рубрики: docker, Jenkins, виртуализация, непрерывная интеграция, разработка, системное администрирование, метки: docker, Jenkins, непрерывная интеграция Эта статья описывает использование контейнеров docker как отдельные ноды для системы непрерывной интеграции, в данном случае jenkins. Кому лень читать tl; dr
Для сборки нашего проекта в RPM и DEB пакеты мы используем Jenkins, на что выделена специальная машина.
Сначала мы собирали наш проект только для CentOS 6. Далее добавилась поддержка CentOS 5, и оказалось что зависимости от конкретных версий библиотек не дают работать тем же бинарникам под разными версиями CentOS, понадобилась сборка разных RPM. Это было решено добавлением в jenkins ноды с CentOS 5, которой служила виртуалка на VirtualBox. Потом добавилась поддержка Suse, а потом и Debian.
Количество оперативной памяти не резиновое, а использование виртуальных машин только для сборки это явный оверхед, и было решено переписать скрипты используя Docker.
Читать полностью »
Windows Phone и непрерывная интеграция в TeamCity
2013-04-10 в 12:14, admin, рубрики: .net, Unit-тестирование, windows phone, непрерывная интеграция, разработка под windows phone, метки: .net, Unit-тестирование, windows phone, непрерывная интеграцияХочу поделиться опытом в настройке системы непрерывной интеграции для проекта Windows Phone 7 в Team City. Надеюсь, сэкономлю тем, кто пойдёт той же тропой, потраченные мной самим время и нервы.
Дано:
- Довольно-таки массивное приложение Windows Phone 7 c unit-тестами, реализованными средствами Silverlight Toolkit.
- Настроенная сборка приложения в TeamCity без запуска unit-тестов. Агент для сборки — «физическая» (в смысле, не виртуальная) машина.
Необходимо:
- Настроить ещё одного build-агента TeamCity на виртуальной машине под VMWare.
- Запускать unit-тесты при сборках и сбора результатов их выполнения в статистику TeamCity.
Непрерывная интеграция за доллар в день
2012-09-20 в 8:46, admin, рубрики: continuous integration, непрерывная интеграция, Песочница, разработка, метки: continuous integration, непрерывная интеграцияДанная статья является переводом статьи James Shore "Continuous Integration on a Dollar a Day". Ссылка на эту статью попалась мне в книге "Непрерывное развертывание ПО".
Есть более простой и дешёвый способ осуществления непрерывной интеграции, чем использование сервера сборки подобно CruiseControl. На самом деле, это настолько просто, что вы можете начать её выполнять прямо в эту секунду и прекратить плохо себя чувствовать из-за отдела IT, пока ещё не одобрившего ваш запрос на сервер сборки.
(Хотите небольшой неэтичный секрет? То, что я собираюсь вам рассказать, лучше, чем использование CruiseControl!)
Читать полностью »
CircleCI — обзор нового сервиса Continuous Integration
2012-06-15 в 6:09, admin, рубрики: continious integration, continuous integration, tdd, Веб-разработка, непрерывная интеграция, тестирование веб-приложений, метки: continious integration, continuous integration, tdd, непрерывная интеграция, тестирование веб-приложений «Вы тестируете? — Возможно.
Все мы согласны, что тестирование – отличная штука, но в реальности доставляет много проблем. В настоящий момент мы занимаемся beta-тестированием партнерского CI сервиса, который предназначен для того, чтобы делать за вас всю тяжелую работу.
Мы работаем над созданием удивительного сервиса CI! Только представьте, что вы сможете использовать исключения для автоматизированного создания тестов! Да, мы работаем над этим!
Ответьте на это сообщение для получения доступа к beta-версии.»
— примерно такие слова в моем вольном переводе с английского я прочитал, зайдя однажды на всем известный airbrakeapp.com, чтобы посмотреть, какие ошибки успели найти юзеры в наших приложениях за ночь.
Читать полностью »
Непрерывная интеграция в TFS 11
2012-05-09 в 11:21, admin, рубрики: tfs 11, Visual Studio, Visual Studio 11, непрерывная интеграция, Системы управления версиями, управление проектами, метки: tfs 11, Visual Studio 11, непрерывная интеграция
Добрый день, коллеги.
Длинные праздники заканчиваются, и уже завтра, мы снова погрузимся в пучину ежедневной рутины. Сегодня, на стыке еще не закончившихся праздников и еще не начавшейся рабочей недели, я бы хотел немного рассказать о непрерывной интеграции.
Начиная внедрять Agile практики в разработке, многие, прочитав: «Личности и их взаимодействия важнее, чем процессы и инструменты», приходят в восторг. Ведь можно собрать команду, сплотить их, поставить задачи и вот она: «звезда пленительного счастья» (работающее и полезное пользователям ПО). Но, к сожалению, в жизни бывает все намного скучнее и непредсказуемей. Начиная внедрять новомодный Scrum или Kanban, часто забывают, что все достоинства этих методик проявляться только в том случае, если они ложатся на правильные инженерные практики. К таким практикам относят модульное тестирование вообще, и TDD в частности; парное программирование; Code Review; непрерывную интеграцию и многое другое.
Под катом, я попробую показать, как настроить непрерывную интеграцию в рамках TFS 11 и в каких сценариях, какой способ построения проектов будет наиболее оправдан (много картинок и текста).
Читать полностью »
Что такое travis-ci.org и с чем его едят?
2012-03-20 в 13:05, admin, рубрики: continuous integration, ruby, travis-ci, непрерывная интеграция, метки: continuous integration, travis-ci, непрерывная интеграция
Наверняка все слышали шумиху вокруг проекта travis-ci.org. Я не являюсь исключением и учитывая, что один из его разработчиков, Джош Калдеримис (Josh Kalderimis), выступивший на прошедшей конференции toster.ru, разжег мой интерес еще больше, то я решил окончательно разобраться, что такое travis-ci и с чем его едят. После прочтения вы узнаете как данный сервис может помочь ruby-разработчикам, а также как ему могут помочь они. Располагайтесь поудобнее, начнем...Читать полностью »