Pull to refresh

Comments 18

Думаю, хорошей идеей было бы хранить питонячьи зависимости в vcs в файлике requirements.txt, и создавать virtualenv для каждого проекта. Что-нибудь вроде этого:
pip install -sr requirements.txt -E /home/venvs/<project>
/home/venvs/<project>/bin/python manage.py jenkins [app_list]

Спасибо, очень кстати, сам я плохо разбираюсь в лучших практиках использования virtual env.
А особенно хорошей идеей при использовании CI будет использовать ещё и кэш пакетов, что сильно экономит время билда.

Вот пример скрипта деплоя, который использует кэш и разделение зависимостей для ускорения: gist.github.com/847813#file_buildenv.sh
Еще можно просто задавать переменную окружения PIP_DOWNLOAD_CACHE.
Да, так проще, если всё на одном хосте тестируется, деплоится и разрабатывается (;
Я настроил недавно jenkins для PHP-проекта. Ничего не скажу — по удобству опережает CruiseControl+PHPUnderControl, другого не пробовал. Но есть один баг/фича — в codebrowser файлы выводятся полностью на главной странице вне зависимости от вложенности в файловой системе — пример можно посмотреть тут: http://ci.thephp.cc/job/bankaccount/Code_Browser/?. Такой подход хорош когда в проекте пара десятков файлов. У нас же — тысячи (8781 файл, 1002 директории), в игноре примерно половина. Получается — codebrowser прекрасно генерирует файлик отчёта (html), но жопа наступает на этапе его отображения — всё пипец как тормозит (подозреваю — навешиваются события яваскриптовые либо тяжёлые обходы/селекотры) и в конце концов хром крашится.

Так вот вопрос — можно ли как-то список файлов отображать также иерархично, как и в файловой системе?

Мой вопрос на stackoverflow — так на него никто и не ответил, просмотрели ажно 4 раза :)
Тут я тоже не смогу помочь — у нас code browser в redmine.
Настройку Jenkins CI для любого типа проектов нельзя считать завершенной без установки вот этого очень важного плагина ;)!
Не подскажете как прикрутить нагрузочное тестирование? Что бы можно было видеть как производительность меняется от версии к версии, в виде графика например.
Смотря что использовать для нагрузочного тестирования. Я работал только с Apache Jmeter, вот здесь есть неплохая статья как прикрутить его к Jenkins: http://lincolnloop.com/blog/2011/oct/12/load-testing-jmeter-part-2-headless-testing-and-je/. И графики есть вроде бы которые вам нужны.

Спасибо, как вариант можно попробовать.
PyLint и на вашем скриншоте показывает лошадиное количество ошибок.
К сожалению, многие из багов в отчете таковыми не являются.
Вы занимались его настройкой для Django-проектов?
Или интеграцией django-lint?
Может быть поделитесь своим pylint.rc?
2500 это еще не так много, я не знаю ваш случай, но в нашем случае большинство ошибок правильные (). К тому же хоть на графике и написано pylint, на самом деле это суммарные ошибки pylint, pyflakes и pep8. Многие из них дублируются, поэтому при исправлении одной — на само деле исправляешь 3.

Посмотрите вот сюда чтобы увидеть по-настоящему большое количество ошибок: )
jenkins.shiningpanda.com/nltk/job/NLTK-py2.5/63/
Ну, есть специфичные для Django косяки. Пример:
E1101: Instance of 'ForeignKey' has no '<field_name>' member

Я только взвел все это дело и душа перфекциониста жаждет только правильных ошибок.
Видимо, придется допиливать django-jenkins и django-lint для этих целей.
Да, есть такие косяки, но по моему опыту они o() малое от остальных.
Only those users with full accounts are able to leave comments. Log in, please.