How to deploy White Glove
Application is deployed to Dev, UAT, Prod environments. Deploy process to every environment requires some steps
If you are responsible for a deployment and you cann’t do it at specified time, you must inform the team and ensure somebody can do your duties in your absense.
Dev
Backed - deployment of a services occurs automatically after a PR is merged to a main branch. 3 pipelines to be run to do this:
WhiteGlove.<Service Name>-build - should be succeed
WhiteGlove.<Service Name>-pack - should be succeed
WhiteGlove.<Service Name>-deploy - “Deploying dev“ stage to be completed successfully.
Responsible person of the ticket (Developer) must ensure all pipelines ran as above, actions from Manual Actions table below are done and applications (UI and swagger) are available and pages open fine after the deployment.
Possible issues:
WhiteGlove.Bff-webapi-update - may fail after a service client update. Developer must ensure it is success.
Frontend - there are two applications in the scope of the white glove project:
1. Smart Hub - is an application to manage all the white glove processes
2. Supplier Portal - currently, for booking confirmations.
To deploy on of these application you need to run corresponding pipelines for smart hub or supplier portal.
DEV environment updates could be run by everyone without approvals from leads.
UAT
Backed - a team leader (Alexey Sokolov (Unlicensed) ) has to:
Do Manual Actions from the table below
Go to Azure DevOps and click approve at every pipeline which awaits UAT deployment:
3. Ensure all pipelines passed till the last (Production) stage.
4. Applications (UI and swagger) are available and pages open fine after the deployment.
Frontend - the same as in case of DEV environment updating you need to run corresponding pipeline. For smart hub and supplier portal correspondingly.
To update UAT environment it’s needed to have an approval from leads (Dmitry Skuratovich (Unlicensed)). Deployment will be done as soon as the pipeline is approved.
Prod
Backed - a team leader (Alexey Sokolov (Unlicensed) ) has to:
Do Manual Actions from the table below
Go to Azure DevOps and click approve at every pipeline which awaits Prod deployment:
3. Ensure all pipelines are completed successfully.
4. Applications (UI and swagger) are available and pages open fine after the deployment.
Frontend - As in case of UAT updating the PROD environment updating process is only allowed after leads approval (Dmitry Skuratovich (Unlicensed)) within the pipeline and a formal approval from client.
To update the PROD environment you need to run corresponding pipeline, smart hub or supplier portal.
Manual Actions
Actions from the table below should be manually done during deployment.
Action items | Jira ticket: | Applied on Dev at: | Applied on UAT at: | Applied on Prod at: | Responsible Person |
---|---|---|---|---|---|
Sprint 21: Update TokenManager | |||||
Sprint 20: Fix typo issue in the confirmation email template |
|
|
| ||
Sprint 20: Set ClientId to CostCategories, Alerts, Locations |
|
|
| ||
Sprint 20: Set a scope value to the access tokens with the actual organizationId with type=CLIENT. UPDATE [TokenManager].[AccessTokens] SET Scope = 'OrganisationId:2' WHERE Scope IS NULL |
|
|
| ||
Sptint 20: To update Search Index (clientId was added) |
|
|
| ||
Sprint 20: To change “Customer Name” at Confirmation Email Template with “Confirmation Person Name” |
|
|
| ||
Sprint 19: To replace email templates variables with camelCase |
|
|
| ||
Sprint 17: To add new notifications system templates |
|
|
| ||
Sprint 16: To add Purchase Order Template Code To keyvault |
|
|
| ||
Sprint 14: To add room configuration to database |
|
|
| ||
Sprint 14: To add values to keyVault "SupplierPortal": { |
|
|
| ||
Sprint 14: To add Financier Connection string |
|
|
| ||
Sprint 13: Seko360 Booking Confirmation Email Template (Notification System) |
|
| |||
|
|
|
| ||
Sprint 12: Change Push Dispatch Confirmation to V7 and change mapping to: { "SourceReference": "{{Dispatch.SalesOrderReference}}", "Date": "{{Dispatch.DispatchDate}}", "GoodsDispatch": [ {{ for item in List.DispatchLineItem }} { "Sku": "{{item.ProductCode}}", "ProductColour": "{{item.ProductColour}}", "ProductDescription": "{{item.ProductDescription}}", "ProductGrossWeight": {{item.ProductGrossWeight}}, "ProductSize": "{{item.ProductSize}}", }, {{ end }} ] } |
|
|
| ||
Sprint 11: To Add CargoWiseClient-RetryDelay to keyvault |
|
|
| ||
Sprint 11: Setup Search Indexer |
|
|
| ||
Sprint 11: Seko360 Pre-Alert Email Template (Notification System) |
|
|
| ||
Sprint 9: Setup Push Delivery Arrive Service on IHub | May 26, 2022 |
|
| ||
Sprint 9: To add ConnectionStrings--SharedServiceBusConnection |
|
|
| ||
Sprint 9: Remove database or table |
|
|
| ||
Change “Push Goods Received Notice Confirmation“ mapping on iHub to { "BookingReference": "{{ GRN.DeliveryNumber}}", "ConfirmedDate": {{ if (GRN.ConfirmedDate) }}"{{ GRN.ConfirmedDate }}"{{ else }}null{{end}}, "Receipts": [ {{ for item in List.GRNLineItem }} { "Sku": "{{ item.ProductCode }}", "Quantity": {{ item.Quantity}} }, {{ end }} ] } |
|
|
|