Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 70 Next »

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:

  1. WhiteGlove.<Service Name>-build - should be succeed

  2. WhiteGlove.<Service Name>-pack - should be succeed

  3. 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:

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:

  1. Do Manual Actions from the table below

  2. 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:

  1. Do Manual Actions from the table below

  2. 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

Sptint 21: Update Ihub mapping (
Push Delivery Arrive,
Push Dispatch Confirmation,

Push Goods Received Notice Confirmation)

WG-998

Arthur Viltovskiy (Unlicensed)

Maksim Trifonov (Unlicensed)

Sprint 21: Apply content compression

WG-419

Dmitry Skuratovich (Unlicensed)

Sprint 21: Update PRE_ALERT and PURSHCASE_ORDER notifications system templates

WG-942

Dmitry Skuratovich (Unlicensed)

Sprint 21: Update TokenManager

Arthur Viltovskiy (Unlicensed)

Maksim Trifonov (Unlicensed)

Sprint 20: Fix typo issue in the confirmation email template

WG-990

Dmitry Skuratovich (Unlicensed)

Sprint 20: Set ClientId to CostCategories, Alerts, Locations

WG-108

Arthur Viltovskiy (Unlicensed)

Sprint 20: Set a scope value to the access tokens with the actual organizationId with type=CLIENT.
For example, the actual organizationId is 2, then execute the SQL as follows:

UPDATE
	[TokenManager].[AccessTokens]
SET
	Scope = 'OrganisationId:2'
WHERE
	Scope IS NULL

WG-239 - Getting issue details... STATUS

Arthur Viltovskiy (Unlicensed)

Sptint 20: To update Search Index (clientId was added)

WG-923

Arthur Viltovskiy (Unlicensed)

Sprint 20: To change “Customer Name” at Confirmation Email Template with “Confirmation Person Name”

WG-881

Dmitry Skuratovich (Unlicensed)

Sprint 19: To replace email templates variables with camelCase

WG-896

Dmitry Skuratovich (Unlicensed)

Sprint 17: To add new notifications system templates

WG-686

WG-675

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": {
"BaseUrl": "{BaseUrl}",
"ExpirationDays": "{ExpirationDays}"
},

Sprint 14: To add Financier Connection string

Sprint 13: Seko360 Booking Confirmation Email Template (Notification System)

SEKO360_BOOKING_CONFIRMATION should be added to the prod as soon as it’s tested in UAT.

  • Sprint 12: To add KV values:

  • NsClient--Token

  • NsClient--PreAlertEmailTemplateCode

  • NsClient--BaseUrl

  • DmsClient--Token

  • DmsClient--PreAlertPdfTemplateCode

  • DmsClient--BaseUrl

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)

SEKO360_PRE_ALERT should be added to the prod as soon as it’s tested in UAT.

Sprint 9: Setup Push Delivery Arrive Service on IHub

May 26, 2022

Sprint 9: To add ConnectionStrings--SharedServiceBusConnection

Sprint 9: Remove database wg-prod-publicapi-db

or table [PublicAPi].[Countries]

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 }}
  ]
}

  • No labels