Project template for a BlackSheep API deployed to Azure App Service, using a PostgreSQL database, GitHub Workflows, and Bicep templates for deployments.
This is an advanced project template, featuring:
- A
Python
web service using a PostgreSQL database - GitHub Workflows to automate the deployment of Azure services and the application server
- Bicep templates to provision the necessary Azure services
- Database migrations implemented using
Alembic
, automatically deployed as part of the Continuous Delivery workflow - Integration with Azure Application Insights to collect telemetries for performance, web requests, exceptions, failed requests, including tracking of PostgreSQL dependencies
- Workflows and ARM templates prepared to support multiple environments: DEV, TEST, PROD
- A
BlackSheep
API, includingOpenAPI Documentation
- Instructions describing how to get started and configure GitHub Workflows and create environments in Azure
- A GitHub account
- An Azure subscription
- Azure CLI
For development:
- Python 3.8
- Create a new repository starting from this template (using GitHub features), or fork the project
- Choose a project name for your new deployment
- Configure GitHub secrets
- Run the
infrastructure
GitHub Workflow: this creates necessary services in Azure, in different environments - Run the
server
build GitHub Workflow: this builds the application and deploys it to the various environments
The following pages describe in detail the steps listed above: