Показаны сообщения с ярлыком mercurial. Показать все сообщения
Показаны сообщения с ярлыком mercurial. Показать все сообщения

7 октября 2013 г.

Особенности работы с ветвями в NetBeans до 8.0

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

14 февраля 2013 г.

Selenium тестирование PHP-проекта из Jenkins (ч2)

Статья является продолжением статьи о настройке системы непрерывного интегрирования Jenkins.
Здесь рассматривается решение вопроса автоматического конвертирования html-тестов в php с последующим запуском их через Ant с помощью системы непрерывной интеграции Jenkins на Windows.

Оглавление:
1. Запуск готовых Selenium-тестов подготовленных для PHPUnit
2. Selenium2php - автоматическое конвертирование HTML тестов Selenium в phpunit-тесты
3. Еще больше автоматизации
4. Результат

Возможно, вам так же будет интересна статья Установка и настройка Jenkins + Vagrant + Selenium с нуля на Linux (Debian).

13 февраля 2013 г.

Jenkins для PHP на Windows или улучшенное автотестирование Selenium при коммитах (ч1)

Возможно, вам так же будет интересна статья Установка и настройка Jenkins + Vagrant + Selenium с нуля на Linux (Debian).

В этой статье я запишу свой опыт настройки системы непрерывной интеграции Jenkins для PHP-проекта в Windows. Статьи об этом не редкость: раз, два. Но я расскажу о проблемах, решение которых не было описано сразу в одном месте, но которые мне удалось решить, собрав информацию по кусочкам.

Цель: собрать систему, которая в автоматическом режиме при изменении кода (коммите и выполненном выталкивании), либо вручную будет производить следующие операции:
  • сборка проекта, например, css, js-файлов - выполнение произвольных скриптов;
  • проверка на ошибки синтаксиса - использование lint;
  • посчитать количество строк, классов, методов, функций, файлов, строк комментариев и прочее - phploc;
  • посчитать метрики - pdepend;
  • проанализировать качество кода по нескольким правилам - phpmd;
  • найти участки одинакового кода - phpcpd;
  • выполнить модульное тестирование - phpunit;
  • выполнить Selenium-тестирование с использованием удалённого Selenium-сервера;
  • собрать логи всех операций, сосчитать количество ошибок/предупреждений и на основе настройки порогов значение присвоить статус успешности билда;
  • оповестить всех разработчиков / последних коммитивших об изменении статуса билда;
  • автоматическое развертывание (deployment), если нужно. 

7 февраля 2013 г.

Автоматическое Selenium-тестирование при коммитах (без Jenkins)

Выполнение Selenium-тестов занимает много времени. Процесс тестирования сопровождается открытием окон браузера, что отвлекает от разработки, даже если они свёрнуты. В этом посте я запишу свой опыт сборки системы, которая проводит автоматический запуск Selenium тестов после каждого выталкивания изменений в репозиторий для веб-проекта, написанного на PHP с использованием Mercurial под Windows. Визуальная часть тестов проходит на виртуальной машине, а отчет об ошибках отправляется на электронную почту.
До этого у меня уже был настроен репозиторий Mercurial, который используется для совместной разработки. Сами файлы репозитория находятся на том же компьютере, что и версия, в которой происходит разработка. Для обработки pull, push использовано стандартное средство hg serve. Было подготовлено несколько Selenium-тестов для NetBeans.