Setting up a development environment on Fedora

Get source code

Nitrate source code is available at: https://github.com/Nitrate/Nitrate

You can get the latest changes with git easily:

git clone https://github.com/Nitrate/Nitrate.git

Create virtualenv

Install database and devel packages which are required to compile some of the Python dependencies:

sudo dnf install gcc python-devel mariadb mariadb-devel krb5-devel \
    libxml2-devel libxslt-devel

Create a virtual environment:

virtualenv ~/virtualenvs/nitrate

Install dependencies:

. ~/virtualenvs/nitrate/bin/activate
pip install -r requirements/devel.txt

Note

devel.txt has the link to base.txt which includes required Python packages for running Nitrate.

Initialize database

Create database:

mysql -uroot
create database nitrate character set utf8;

For convenience for development, user, password and database name are already set in tcms/settings/devel.py with default value.

Note

You may want to adjust the database and/or other configuration settings. Override them in ./tcms/settings/devel.py if necessary. While MariaDB is supported currently, sqlite appears to work for development and some people have used PostgreSQL with varying success in production! At the moment Nitrate is not 100% portable between database backends due to some hard-coded SQL statements. If you use something other than MariaDB some parts of the application may not work correctly!

Load database schema and initial data:

./manage.py migrate

Final Step

Nitrate is ready to run:

./manage.py runserver

Open http://127.0.0.1:8000/ and there should be brand new Nitrate homepage!