Azure / azure-dev

A developer CLI that reduces the time it takes for you to get started on Azure. The Azure Developer CLI (azd) provides a set of developer-friendly commands that map to key stages in your workflow - code, build, deploy, monitor, repeat.
https://aka.ms/azd
MIT License
385 stars 176 forks source link

Questions Regarding Best Practices for CI/CD with Aspire #3957

Open softwaretirol opened 1 month ago

softwaretirol commented 1 month ago

We are currently developing an application on Aspire and have successfully deployed it using azd to Azure for both test and production environments. While we have managed to configure each environment using environment variables, we still have a few questions:

  1. Build Pipeline:

    • Previously, we used Azure DevOps to build our application (dotnet publish and dotnet test). Although this is no longer strictly necessary, is it still considered best practice to run these steps to at least execute the tests in the build pipeline?
  2. Release Pipeline:

    • In the past, we deployed our staging environments using a Release Pipeline. With Aspire, does this mean we should now use azd up -e Test within the Release Pipelines to build and publish our containers for these environments?
  3. Versioning:

    • How should we handle the versioning of our .NET assemblies? This was previously an independent step in the build pipeline.
  4. Blue-Green Deployment:

    • Does Aspire/azd up support Blue-Green Deployment such that the containers are deployed "on the fly" with zero downtime?

Any guidance or suggestions on how to address these concerns would be greatly appreciated.

Bpflugrad commented 1 month ago

I also have some of these questions. We are transitioning from Azure Functions and use release pipes and slot swap heavily, so Blue-Green Deployment is something I an pretty curious about.