May 06, 2012 | View Comments
Jenkins-CI is a continuos integration platform. Setting up Jenkins and installing plugins is quite easy since it does everything automatically.
We use the following tools with Jenkins-CI:
- git: Our vcs choice
- nose: Unit test library.
- sloccount: Calculates the lines of code.
- PyLint: Static analyzer
- clonedigger: Detects duplicate code.
- coverage: Measures code coverage by monitoring the program, traces hooks, notes which parts have been executed, which parts could have been executed but wasn't.
- pep8: Coding style.
The following plugins are necessary:
All these plugins could be installed from plugin manager.
** There's also ShiningPanda plugin which adds some useful builders such as virtualenv but we've not tried it.
Jenkins takes care of everything. It clones your git repository and does the necessary steps.
Shell Build Steps
Shell build steps are straightforward. For example;
for filename in `find . -name *.py | egrep -v '^./modules/'`; do pep8 --ignore=E111 $filename; done || :
PyCharm is a Python IDE from JetBrains. In addition to plain Python, it can syntax highlight and check for errors for Cython, CoffeeScript, Mako/Jinja2 templates as well. You could connect to database and work on database tables too!
It supports git, virtualenv, pip (and probably lots of other things I've not noticed yet).
For example; Cython highlighting and error and spelling checking:
Cython highlighting and error and spelling checking
and when you connect to your database in PyCharm;
Pretty cool, huh?
The rest is web.py, SQLAlchemy, Mako, gevent and ZeroMQ.