Deployment and management proceduresΒΆ

This Django application leverages Docker, GitHub Actions, and Render for automated deployment and streamlined management.

Continuous Integration and Deployment (CI/CD) A dedicated GitHub Actions workflow (django.yml) ensures a robust CI/CD pipeline. Every push triggers the following steps:

  • Enviroment variables:

Setup environment variables in Render

_images/env_variables.png
  • Unit Testing: The pipeline executes comprehensive unit tests using pytest to verify code functionality and identify potential issues early in the development cycle.

  • Code Linting: Static code analysis with flake8 enforces code style consistency and catches potential readability or maintainability problems.

  • Docker Image Build and Push: Upon successful test and linting, the workflow builds and pushes a Docker image containing the application to the Render platform. This containerized approach ensures consistent and portable deployment across different environments.

  • Deployment Target (only for master branch): Render

Render serves as the chosen hosting platform, providing a fully managed infrastructure for seamless deployment and scaling. The generated Docker image from the GitHub Actions workflow gets automatically deployed to Render, ensuring a smooth transition from development to production.

  • Additional Notes

For local development, refer to the Installation Instructions paragraph for instructions on setting up a virtual environment and running the application. The specific configuration and deployment settings are documented within the settings.py file and the django.yml workflow.