Deployment

Get Nitrate

Nitrate ships with optional subpackages in addition to the main nitrate-tcms package. They are available from either PyPI or the YUM repository. The subpackages include:

  • mysql: needed when Nitrate works with MySQL or MariaDB database.

  • pgsql: needed when Nitrate works with PostgreSQL database.

  • bugzilla: needed when the BugzillaBackend authentication backend is enabled, or the issue tracker is configured to work with a Bugzilla instance.

  • krbauth: needed when the KerberosBackend authentication backend is enabled.

  • socialauth: needed when the social-based authentication backend is enabled.

  • async: needed when to run asynchronous tasks as Celery tasks.

PyPI

python3 -m pip install nitrate-tcms

# Example: if Kerberos-based authentication is required
python3 -m pip install nitrate-tcms[krbauth]

RPM

RPM packages are provided from a Copr repository:

sudo dnf copr enable cqi/python-nitrate-tcms
sudo dnf install python3-nitrate-tcms

# Example: if Celery is required and run with PostgreSQL
sudo dnf install python3-nitrate-tcms+async python3-nitrate-tcms+pgsql

Container Images

Nitrate provides two container images:

The nitrate-worker image is optional, that depends no whether there is requirement to run asynchronous tasks by Celery.

For more information, please refer to the description of image quay.io/nitrate/nitrate.

In this document, you are able to find out several ways to run Nitrate for your use case.

Run locally

The Vagrant Way

Before you launch the VM, please ensure Vagrant and VirtualBox is installed. A vagrant file Vagrantfile.example is ready-to-use, and it is configured to work with virtualbox provider. If you are using other virtualization technology, e.g. libvirt, it is possible to edit a copy from the default file. Following these steps:

  • Copy contrib/Vagrantfile.example to project root directory and rename it to Vagrantfile.

  • vagrant up

Run inside Container

Deploy a released version

Each released version has a docker image which is available in Quay.io. Essentially, you could get a specific version of Nitrate by podman pull, for example to get version 4.4 image:

podman pull quay.io/nitrate/nitrate:4.4

To deploy a Nitrate image, you need an orchestration tool to organize Nitrate image and database image and volumes to store data.

For running a specific version quickly in local system, you could run:

IMAGE_VERSION=4.4 podman-compose up

Run a development instance locally

Simply run:

podman-compose up

Then, visit URL http://127.0.0.1:8001/

Installation Guides

Here are a few of various installation documents. Choose one for your environment. Feel free to report issue if you find out anything that does not work.

Warning

These documentation were contributed by contributors in the past. Some of them might be out-dated. Please read them and apply the steps carefully. Welcome patches to update these documents.