You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Write-Host " Build and push the backend/frontend/mcp_server container images to ACR, then point the container app and webapp at them:" -ForegroundColor White
21
+
Write-Host " 👉 Run the following command in Bash:" -ForegroundColor White
Write-Host " Build and push the backend/frontend/mcp_server container images to ACR, then point the container app and webapp at them:" -ForegroundColor White
42
+
Write-Host " 👉 Run the following command in PowerShell:" -ForegroundColor White
Copy file name to clipboardExpand all lines: docs/DeploymentGuide.md
+29-65Lines changed: 29 additions & 65 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -322,66 +322,8 @@ azd up
322
322
323
323
**Expected Duration:** 9-10 minutes for default configuration
324
324
325
-
> **Note — Automatic container image build & push:** After the Bicep templates finish provisioning, `azd` runs an automatic **postprovision** hook that:
326
-
>
327
-
> 1. Builds the `backend`, `frontend` and `mcp` container images from `src/backend`, `src/App` and `src/mcp_server`.
328
-
> 2. Pushes them to the Azure Container Registry (ACR) that was just provisioned in your resource group.
329
-
> 3. Updates the two Container Apps and the frontend Web App to run the freshly pushed images.
330
-
>
331
-
> Add another 4-8 minutes for this step. See [Container image build behavior](#42a-container-image-build-behavior-optional) below to change how the images are built or to skip the step.
|`AZURE_ENV_BUILD_MODE`|`remote`\|`local`|`remote`|`remote` builds each image with `az acr build` (an ACR Task — no local Docker required). `local` runs `docker build` + `docker push` from your machine. |
340
-
|`AZURE_ENV_IMAGE_TAG`| any tag |`latest`| Tag applied to every image pushed to the ACR. |
341
-
|`AZURE_ENV_SKIP_IMAGE_BUILD`|`true`\| unset | unset | When `true`, the postprovision hook is skipped entirely. Use this if you plan to push images yourself. |
342
-
343
-
**Examples**
344
-
345
-
```shell
346
-
# Default: remote ACR build, tag "latest" (no local Docker needed)
347
-
azd up
348
-
349
-
# Local Docker build with a custom tag
350
-
azd env set AZURE_ENV_BUILD_MODE local
351
-
azd env set AZURE_ENV_IMAGE_TAG dev
352
-
azd up
353
-
354
-
# Skip the automatic build step (I'll push my own images later)
355
-
azd env set AZURE_ENV_SKIP_IMAGE_BUILD true
356
-
azd up
357
-
```
358
-
359
-
**Prerequisites**
360
-
361
-
-`remote` mode requires only the Azure CLI (`az`) that comes with the deployment environments listed in Step 2.
362
-
-`local` mode additionally requires [Docker Desktop](https://www.docker.com/products/docker-desktop/) to be running on the machine where `azd up` is executed.
363
-
364
-
**Running the script manually**
365
-
366
-
You can also invoke the same script directly, for example after a code change:
367
-
368
-
```powershell
369
-
# PowerShell (Windows)
370
-
infra\scripts\Build-And-Push-Images.ps1 # remote build, tag "latest"
371
-
infra\scripts\Build-And-Push-Images.ps1 -BuildMode local # local Docker build
372
-
infra\scripts\Build-And-Push-Images.ps1 -ImageTag v1.2.0 # custom tag
373
-
```
374
-
375
-
```bash
376
-
# Bash (Linux / macOS / WSL)
377
-
bash infra/scripts/build_and_push_images.sh # remote build, tag "latest"
The script reads the ACR name, resource group and target Container App / Web App names from the current `azd` environment (`azd env get-values`), so it must be run from the project root after a successful `azd provision` / `azd up`.
383
-
384
-
-**Upon successful completion**, you will see a success message indicating that all resources have been deployed, along with the application URL and next steps for uploading team configurations and sample data.
326
+
-**Upon successful completion**, you will see a success message indicating that all resources have been deployed, along with the application URL and next steps for Build and push the backend/frontend/mcp_server container images to ACR, then point the container app and webapp at them and uploading team configurations and sample data.
When `azd up` finishes, the `postdeploy` hook (defined in `azure.yaml`) prints the exact commands to run next. Complete the following steps, in order, from the project root before accessing the application.
345
+
346
+
### 5.1 Build and Push Container Images
347
+
348
+
Build and push the backend, frontend, and mcp_server container images to ACR, then point the Container App and Web App at them. Run the command for your shell:
349
+
350
+
-**For Bash (Linux/macOS/WSL):**
351
+
```bash
352
+
bash infra/scripts/build_and_push_images.sh
353
+
```
354
+
355
+
- **For PowerShell (Windows):**
356
+
```powershell
357
+
infra\scripts\Build-And-Push-Images.ps1
358
+
```
403
359
404
-
1. You can upload Team Configurations using command printed in the terminal. The command will look like one of the following. Run the appropriate command for your shell from the project root:
360
+
The script reads the ACR name, resource group and target Container App / Web App names from the current `azd` environment, so it must be run from the project root after a successful `azd up`. See [Step 4.2](#step-4-deploy-application) for build options (`remote` vs `local` mode and custom image tags).
361
+
362
+
### 5.2 Upload Team Configurations and Index Sample Data
363
+
364
+
1. Upload Team Configurations and index the sample data using the command printed in the terminal. Run the appropriate commandfor your shell from the project root:
405
365
406
366
- **For Bash (Linux/macOS/WSL):**
407
367
```bash
@@ -418,25 +378,29 @@ After successful deployment:
Once both scripts complete, access your deployed frontend application at the URL printed by the `postdeploy` hook (`https://<webSiteDefaultHostname>`), or retrieve it from the Azure Portal as described in [Step 4.3](#43-get-application-url).
0 commit comments