I currently have a web app split into three parts. Each part has its own git repository.
- Frontend Angular (foo.bar)
- Backend Angular (foo.bar/admin)
- .NET Core API (foo.bar/api)
In front sits an NGINX Server which acts as a reverse proxy. Currently, it all runs on a VM together with a Jenkins Server which allows me to develop and deploy each part separately, which I really like.
I would like to containerize the application and move it to Azure Web Service for Containers. For the CD/CI I would like to use Azure DevOps & Azure Pipelines. Since Azure Web Service for Containers supports multi-container via Docker Compose and Kubernetes.
The main question is: How can I build and deploy one specific container (e.g. Azure/frontend:10) in the multi-container (via Docker Compose) environment? (Without building all the other containers)
If that is possible...
- How do I set up the Azure Pipelines and Azure Container Registry to allow me separate container deployments
- Where does the docker-compose file live? In a separate repository?
- Where does the reverse proxy NGINX Dockerfile live? In a separate repository as well?
Or do I need to use Kubernetes?
Alternately I could use three different App Webs on the same Service Plan and control it per domain/sub-domain.
- Frontend Angular (foo.bar)
- Backend Angular (admin.foo.bar)
- .NET Core API (api.foo.bar)
I don’t know where to start. It is a small project too. I don’t want to make it too complicated.
Any tip is more than welcome. Thanks in advance!