- Perform CRUD operations on customers, products, tickets, technical personnel
- Perform CRUD operations on projects and project steps and assign them to a specific customer
- Link project steps or tickets to a calendar
The CI/CD pipeline is handled using a GitHub Actions workflow.
The workflow is divided into three sequential jobs (test
, build
and deploy
).
The test
job will:
- Create the list of dependencies using
pip freeze
- Install the listed dependencies
- Perform all the tests with the Django testing suite
- Measure code coverage using coverage.py
The build
job will:
- Run the
update-version.sh
script to update the patch version - Run the
clean-images.sh
script to remove older local images from Docker - Build the latest Docker image
- Tag the images with the version number
The deploy
job will:
- Prepare the code for deployment by using the proper settings
- Run the Django built-in deployment checklist
- Push the
:latest
and the versioned image to DockerHub registry - Clean up the local Docker environment by deleting the older images