1111 runs-on : ubuntu-latest
1212 name : azd deploy
1313 environment : production
14- env :
15- AZURE_CLIENT_ID : ${{ secrets.AZURE_CLIENT_ID }}
16- AZURE_TENANT_ID : ${{ secrets.AZURE_TENANT_ID }}
17- AZURE_SUBSCRIPTION_ID : ${{ secrets.AZURE_SUBSCRIPTION_ID }}
18- AZURE_ENV_NAME : ${{ secrets.AZURE_ENV_NAME }}
19- AZURE_LOCATION : ${{ secrets.AZURE_LOCATION }}
20- AZURE_ENV_OPENAI_LOCATION : ${{ secrets.AZURE_ENV_OPENAI_LOCATION }}
21- AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID : ${{ secrets.AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID }}
22- AZURE_EXISTING_AI_PROJECT_RESOURCE_ID : ${{ secrets.AZURE_EXISTING_AI_PROJECT_RESOURCE_ID }}
23- AZURE_DEV_COLLECT_TELEMETRY : ${{ vars.AZURE_DEV_COLLECT_TELEMETRY }}
2414
2515 steps :
2616 - name : Checkout Code
3828
3929 - name : Login to AZD
4030 shell : bash
31+ env :
32+ AZURE_CLIENT_ID : ${{ secrets.AZURE_CLIENT_ID }}
33+ AZURE_TENANT_ID : ${{ secrets.AZURE_TENANT_ID }}
4134 run : |
4235 azd auth login \
4336 --client-id "$AZURE_CLIENT_ID" \
@@ -46,10 +39,27 @@ jobs:
4639
4740 - name : Provision and Deploy
4841 shell : bash
42+ env :
43+ AZURE_SUBSCRIPTION_ID : ${{ secrets.AZURE_SUBSCRIPTION_ID }}
44+ AZURE_ENV_NAME : ${{ secrets.AZURE_ENV_NAME }}
45+ AZURE_LOCATION : ${{ secrets.AZURE_LOCATION }}
46+ AZURE_ENV_OPENAI_LOCATION : ${{ secrets.AZURE_ENV_OPENAI_LOCATION }}
47+ AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID : ${{ secrets.AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID }}
48+ AZURE_EXISTING_AI_PROJECT_RESOURCE_ID : ${{ secrets.AZURE_EXISTING_AI_PROJECT_RESOURCE_ID }}
49+ AZURE_DEV_COLLECT_TELEMETRY : ${{ vars.AZURE_DEV_COLLECT_TELEMETRY }}
4950 run : |
5051 set -euo pipefail
5152
52- if ! azd env select "$AZURE_ENV_NAME"; then
53+ # Determine whether the AZD environment already exists.
54+ # Fail fast if we cannot list environments.
55+ if ! env_list=$(azd env list); then
56+ echo "Error: Failed to list azd environments. Not creating a new environment." >&2
57+ exit 1
58+ fi
59+
60+ if printf '%s\n' "$env_list" | grep -qx "$AZURE_ENV_NAME"; then
61+ azd env select "$AZURE_ENV_NAME"
62+ else
5363 azd env new "$AZURE_ENV_NAME" --subscription "$AZURE_SUBSCRIPTION_ID" --location "$AZURE_LOCATION" --no-prompt
5464 fi
5565 azd up --no-prompt
0 commit comments