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
Copy file name to clipboardExpand all lines: README.md
+25Lines changed: 25 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -105,6 +105,8 @@ Once in the web app:
105
105
* Click on "settings" to try different options, tweak prompts, etc.
106
106
107
107
## App Continuous Integration
108
+
109
+
### GitHub
108
110
if you don't want to use azd to build and deploy the app, a GitHub automated CI pipeline is provided in `.github/workflows/app-ci.yml`. Some notes about the CI pipeline design:
109
111
- It uses a "branch per environment approach". The deploy environment name is computed at 'runtime' based on a git branch. You can check branch/env-name mapping logic in the "set environment for branch" step (line 29). The current implemented logic maps everything to a dev like environment. Therefore on each git push on the `main branch` the pipeline is triggered trying to deploy to an environment called `Development`. For more info about GitHub environments and how to set specific env variables and secrets read [here](https://docs.github.com/en/actions/deployment/targeting-different-environments/using-environments-for-deployment).
110
112
- GitHub environment variables and secrets are used to configure development environment specific configuration. They need to be configured manually in github repository settings:
@@ -122,6 +124,29 @@ To properly configure automated build and deploy for both backend and frontend c
Azure Devops can also be used to build and deploy the app. Azure Devops automated CICD pipeline is provided in `.azdo/pipelines/app-ci.yaml`. Some notes about the CICD pipeline design:
129
+
- Similar to Github action above, this pipeline uses branch per environment approach as well.
130
+
- Azure Devops library variable groups and variables are used to configure environment specific configuration. They need to be configured manually in Azure Devops Pipeline Library.
131
+
1. Navigate to Pipeline / Library
132
+
2. Add new variable group `azureSearchOpenAiDemoJavaDev` and variable `azureAppServiceName`. Put the name of the Azure App Service for development as the value.
133
+
3. Add new variable group `azureSearchOpenAiDemoJavaProd` and variable `azureAppServiceName`. Put the name of the Azure App Service for production as the value.
134
+
135
+
Connect Azure Devops to the Github Repo:
136
+
1. Create a new pipeline.
137
+
2. For 'Where is your code?' Select Github.
138
+
3. Go through the Github App authentication process [Github App](https://learn.microsoft.com/en-us/azure/devops/pipelines/repos/github?view=azure-devops&tabs=yaml#github-app-authentication).
139
+
4. Select Existing Azure Pipeline YAML file.
140
+
5. Point dropdown values to the path `.azdo/pipelines/app-ci.yaml`.
141
+
6. Do not Run but Save the pipeline.
142
+
Once saved, you will see dev and prod enviornment got automatically created under Pipeline / Enviornments. You can setup Approvals and Checks within enviornments if necessary.
143
+
144
+
Connect Azure Devops to Azure:
145
+
1. Add a Service Connection following this [guide](https://learn.microsoft.com/en-us/azure/devops/pipelines/library/connect-to-azure?view=azure-devops) to allow Azure Devops pipeline to connect to your Azure resources /App Service.
146
+
2. Modify `.azdo/pipelines/app-ci.yaml` '<azureSubscriptionServiceConnection>' and replace it with the name of the Service Connection.
147
+
148
+
You can now either run the pipeline manually or commit to a branch to trigger the pipeline.
149
+
125
150
## Custom Data Ingestion and Indexing
126
151
The repo includes sample pdf documents in the data folder. They are ingested in blob container and indexed in azure cognitive search during infra provisioning by azure developer cli post provision hooks (see line 23 in [azure.yaml](azure.yaml))
0 commit comments