Life ConnectLife Connect
Table of contents
Architecture
Services
Swagger Docs
GitHub
Table of contents
Architecture
Services
Swagger Docs
GitHub

Release steps

  1. Merge feature branches to develop.
  2. Release adb if needed and update dependent services with a new release version.
  3. Run corresponding release pipeline in bitbucket for the service which has to be released:
    • integration: pipeline - custom:release, branch - develop
    • production: pipeline - custom:release, branch - integration
  4. Depending on changes made to services while developing a feature, there might be a need to upgrade messaging and/or services modules using terraform. To do so, please, refer to the corresponding section of remove environment setup documentation.
  5. Run database scripts from releases/R0/adb-reports/metadata folder of adb-charts project.
  6. Upload templates from releases/templates folder to the target environment templates bucket.
  7. Run feature-related database scripts if needed.
  8. Run custom:catalog-[branch] pipeline in adb-utilities bitbucket repository.
  9. Log in and deploy released images on a target cluster. Currently, int and prod are on Azure, so steps are following:
Export variables:
export AZ_PASSWORD=[PASSWORD]
export AZ_CLIENT_ID=[CLIENT_ID]
export AZ_TENANT_ID=[TENANT_ID]
export ENV=[ENV]
export AKS_CLUSTER_NAME="adb-$ENV-aks"
export RESOURCE_GROUP="adb-$ENV"
export NAMESPACE=[NAMESPACE]
Log in to Azure and get credentials
az login --service-principal -u $AZ_CLIENT_ID -p $AZ_PASSWORD --tenant $AZ_TENANT_ID
az aks get-credentials --name $AKS_CLUSTER_NAME --resource-group $RESOURCE_GROUP
Get current cluster service tags
helm -n $NAMESPACE get values adb-services > ./envs/$ENV/services/values.yaml -o yaml
Update values.yml file with released services tags and deploy
For integration:
helm -n $NAMESPACE upgrade adb-services -f ./envs/$ENV/services/values.yaml ../charts/services

For production:
helm -n $NAMESPACE upgrade adb-services -f ./envs/$ENV/services/values.yaml ../charts/services_prod
Important notes for production release:
  1. In file terraform -> clusters -> azure_prod -> providers.tf on line 6 add: subscription_id = [SUBSCRIPTION_ID]
  2. After deploying released images:

Check versions of running pods using the following command:

kubectl --namespace $NAMESPACE describe pod [POD-1] [POD-2]...[POD-N]  \
| grep "Image:" \
| sed -E 's/.*:([^:]+)$/\1/'

Determine pod which has old service tag, delete it and repeat until all running pods have required version.

  1. In case release pipeline failed in bitbucket:
    1. Open service project in IDE
    2. Run git tag command and find the latest tag
    3. If it is bigger than currently deployed, then merge it manually to the target branch and resolve merge conflicts: git merge [TAG]
Edit this page
Last Updated:
Contributors: gregory