Run azd up to provision your infrastructure and deploy to Azure (or run azd provision then azd deploy to accomplish the tasks separately). Visit the service endpoints listed to see your application up-and-running!
To troubleshoot any issues, see troubleshooting.
Environment variables can be configured by modifying the env settings in resources.bicep.
To define a secret, add the variable as a secretRef pointing to a secrets entry or a stored KeyVault secret.
Run azd pipeline config to configure the deployment pipeline to connect securely to Azure.
-
Deploying with
GitHub Actions: SelectGitHubwhen prompted for a provider. If your project lacks theazure-dev.ymlfile, accept the prompt to add it and proceed with pipeline configuration. -
Deploying with
Azure DevOps Pipeline: SelectAzure DevOpswhen prompted for a provider. If your project lacks theazure-dev.ymlfile, accept the prompt to add it and proceed with pipeline configuration.
To describe the infrastructure and application, azure.yaml along with Infrastructure as Code files using Bicep were added with the following directory structure:
- azure.yaml # azd project configuration
- infra/ # Infrastructure-as-code Bicep files
- main.bicep # Subscription level resources
- resources.bicep # Primary resource group resources
- modules/ # Library modulesThe resources declared in resources.bicep are provisioned when running azd up or azd provision.
This includes:
- Azure Container App to host the 'backend' service.
- Azure Container App to host the 'frontend' service.
More information about Bicep language.
If your project does not contain a Dockerfile, we will use Buildpacks using Oryx to create an image for the services in azure.yaml and get your containerized app onto Azure.
To produce and run the docker image locally:
- Run
azd packageto build the image. - Copy the Image Tag shown.
- Run
docker run -it <Image Tag>to run the image locally.
Oryx will automatically set PORT to a default value of 80 (port 8080 for Java). Additionally, it will auto-configure supported web servers such as gunicorn and ASP .NET Core to listen to the target PORT. If your application already listens to the port specified by the PORT variable, the application will work out-of-the-box. Otherwise, you may need to perform one of the steps below:
- Update your application code or configuration to listen to the port specified by the
PORTvariable - (Alternatively) Search for
targetPortin a .bicep file under theinfra/appfolder, and update the variable to match the port used by the application.
Visit the Cost Management + Billing page in Azure Portal to track current spend. For more information about how you're billed, and how you can monitor the costs incurred in your Azure subscriptions, visit billing overview.
Q: I visited the service endpoint listed, and I'm seeing a blank page, a generic welcome page, or an error page.
A: Your service may have failed to start, or it may be missing some configuration settings. To investigate further:
- Run
azd show. Click on the link under "View in Azure Portal" to open the resource group in Azure Portal. - Navigate to the specific Container App service that is failing to deploy.
- Click on the failing revision under "Revisions with Issues".
- Review "Status details" for more information about the type of failure.
- Observe the log outputs from Console log stream and System log stream to identify any errors.
- If logs are written to disk, use Console in the navigation to connect to a shell within the running container.
For more troubleshooting information, visit Container Apps troubleshooting.
For additional information about setting up your azd project, visit our official docs.