Skip to content

Pucar-Install Workflow Solutins-UAT #71

Pucar-Install Workflow Solutins-UAT

Pucar-Install Workflow Solutins-UAT #71

name: Pucar-Install Workflow Solutins-UAT
on:
# push:
# branches:
# - Solutions-Pipeline
workflow_dispatch:
repository_dispatch:
jobs:
check-changed-files:
runs-on: ubuntu-latest
outputs:
deploy-as-code-changed: ${{ steps.check_files.outputs.deploy-as-code-changed }}
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Check for changes in deploy-as-code
id: check_files
uses: tj-actions/changed-files@v42
with:
files: |
deploy-as-code/**
DIGIT-deployment:
# if: ${{ github.event_name == 'push' }}
# needs: Terraform_Infra_Creation
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Azure login
uses: azure/login@v1
with:
creds: ${{ secrets.AZURE_CREDENTIALS }}
- name: Generate kubeconfig
run: |
az aks get-credentials --resource-group "pucar-uat" --name "uat" --admin
cat ~/.kube/config > kubeconfig
- name: Kubectl setup
uses: azure/setup-kubectl@v3
with:
version: 'latest'
id: install
- name: Creating namespace
run: kubectl create namespace egov
continue-on-error: true
- name: Verify kubectl get nodes
run: |
kubectl get nodes
- name: Install sops
run: |
sudo apt update
sudo apt install -y age
mkdir -p $HOME/.config/sops/age/
echo # public key: ${{ secrets.PUBLIC_AGE_KEY }} > $HOME/.config/sops/age/keys.txt
echo ${{ secrets.PRIVATE_AGE_KEY }} >> $HOME/.config/sops/age/keys.txt
wget https://github.com/mozilla/sops/releases/download/v3.7.1/sops-v3.7.1.linux
chmod +x sops-v3.7.1.linux
sudo mv sops-v3.7.1.linux /usr/local/bin/sops
- name: sops decryption
run: |
sudo sops --decrypt --age ${{ secrets.PUBLIC_AGE_KEY }} $HOME/work/pucar-DevOps/pucar-DevOps/deploy-as-code/charts/environments/solutions-uat-secrets.yaml > env-secrets1.yaml
cp env-secrets1.yaml $HOME/work/pucar-DevOps/pucar-DevOps/deploy-as-code/charts/environments/solutions-uat-secrets.yaml
# working-directory: deploy-as-code/charts/environments
- name: Set up Helm
uses: azure/setup-helm@v1
with:
version: 'latest' # Specify the version of Helm
- name: Install Helmfile
uses: helmfile/[email protected]
with:
helmfile-version: 'v0.150.0'
helm-plugins: >
https://github.com/databus23/helm-diff
- name: Commit Id for Latest Deployment
run: |
git clone https://github.com/pucardotorg/dristi-solutions.git
cd dristi-solutions
git checkout tags/v0.5.1-uat
commitID=$(git rev-list -n 1 v0.5.1-uat)
Image_tag=v0.5.1-uat-$commitID
echo "Image_tag=$Image_tag" >> $GITHUB_ENV
- name: digit deployment
run: |
helmfile -l deployment=pucar -f digit-helmfile.yaml apply --include-needs=true \
--set scheduler.image.tag=${{ env.Image_tag }} \
--set scheduler.initContainers.dbMigration.image.tag=${{ env.Image_tag }} \
--set payment-calculator.image.tag=${{ env.Image_tag }} \
--set payment-calculator.initContainers.dbMigration.image.tag=${{ env.Image_tag }} \
--set digit-ui.image.tag=${{ env.Image_tag }} \
--set dristi-case-pdf.image.tag=${{ env.Image_tag }} \
--set dristi-pdf.image.tag=${{ env.Image_tag }} \
--set advocate.image.tag=${{ env.Image_tag }} \
--set advocate.initContainers.dbMigration.image.tag=${{ env.Image_tag }} \
--set case.image.tag=${{ env.Image_tag }} \
--set case.initContainers.dbMigration.image.tag=${{ env.Image_tag }} \
--set casemanagement.image.tag=${{ env.Image_tag }} \
--set casemanagement.initContainers.dbMigration.image.tag=${{ env.Image_tag }} \
--set evidence.image.tag=${{ env.Image_tag }} \
--set evidence.initContainers.dbMigration.image.tag=${{ env.Image_tag }} \
--set hearing.image.tag=${{ env.Image_tag }} \
--set hearing.initContainers.dbMigration.image.tag=${{ env.Image_tag }} \
--set order.image.tag=${{ env.Image_tag }} \
--set order.initContainers.dbMigration.image.tag=${{ env.Image_tag }} \
--set task.image.tag=${{ env.Image_tag }} \
--set task.initContainers.dbMigration.image.tag=${{ env.Image_tag }} \
--set billing-service.image.tag=${{ env.Image_tag }} \
--set billing-service.initContainers.dbMigration.image.tag=${{ env.Image_tag }} \
--set collection-services.image.tag=${{ env.Image_tag }} \
--set collection-services.initContainers.dbMigration.image.tag=${{ env.Image_tag }} \
--set individual.image.tag=${{ env.Image_tag }} \
--set individual.initContainers.dbMigration.image.tag=${{ env.Image_tag }} \
--set inbox.image.tag=${{ env.Image_tag }} \
--set e-sign-svc.image.tag=${{ env.Image_tag }} \
--set esign-interceptor.image.tag=${{ env.Image_tag }} \
--set application.image.tag=${{ env.Image_tag }} \
--set application.initContainers.dbMigration.image.tag=${{ env.Image_tag }} \
--set analytics.image.tag=${{ env.Image_tag }} \
--set epayments.image.tag=${{ env.Image_tag }} \
--set etreasury.image.tag=${{ env.Image_tag }} \
--set etreasury.initContainers.dbMigration.image.tag=${{ env.Image_tag }} \
--set sbi-webpage.image.tag=${{ env.Image_tag }} \
--set sbi-svc.image.tag=${{ env.Image_tag }} \
--set sbi-svc.initContainers.dbMigration.image.tag=${{ env.Image_tag }} \
--set epost-tracker.image.tag=${{ env.Image_tag }} \
--set epost-tracker.initContainers.dbMigration.image.tag=${{ env.Image_tag }} \
--set summons-svc.image.tag=${{ env.Image_tag }} \
--set summons-svc.initContainers.dbMigration.image.tag=${{ env.Image_tag }} \
--set transformer.image.tag=${{ env.Image_tag }} \
--set icops-integration.image.tag=${{ env.Image_tag }} \
--set icops-integration.initContainers.dbMigration.image.tag=${{ env.Image_tag }}
working-directory: deploy-as-code
env:
HELMFILE_ENV: "solutions-uat"
# - name: Postgres Data Migration
# run: |
# POSTGRES_POD=postgresql-0
# kubectl exec -n backbone $POSTGRES_POD -- bash -c 'if [ -f /tmp/init-scripts/uat.sql ]; then rm /tmp/uat.sql; echo "File deleted"; else echo "File does not exist"; fi'
# kubectl cp deploy-as-code/charts/backbone-services/postgresql/init-scripts/uat.sql backbone/$POSTGRES_POD:/tmp/uat.sql
# kubectl exec -n backbone $POSTGRES_POD -- bash -c "PGPASSWORD=$PGPASSWORD psql -h pucar-uat-server.postgres.database.azure.com -U pucar_uat -d pucar-uat-db -f /tmp/uat.sql"
# env:
# PGPASSWORD: ${{ secrets.TF_VAR_DB_PASSWORD_SOLUTIONS_UAT }}