Pucar-Install Workflow Solutins-UAT #65
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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.4.3-uat | |
payment_calculator_commit=$(git log -1 --pretty=format:%H -- backend/payment-calculator-svc) | |
echo "payment_calculator_commit=$payment_calculator_commit" >> $GITHUB_ENV | |
advocate_commit=$(git log -1 --pretty=format:%H -- backend/advocate) | |
echo "advocate_commit=$advocate_commit" >> $GITHUB_ENV | |
case_commit=$(git log -1 --pretty=format:%H -- backend/case) | |
echo "case_commit=$case_commit" >> $GITHUB_ENV | |
casemanagement_commit=$(git log -1 --pretty=format:%H -- backend/casemanagement) | |
echo "casemanagement_commit=$casemanagement_commit" >> $GITHUB_ENV | |
hearing_commit=$(git log -1 --pretty=format:%H -- backend/hearing) | |
echo "hearing_commit=$hearing_commit" >> $GITHUB_ENV | |
dristi_case_pdf_commit=$(git log -1 --pretty=format:%H -- backend/dristi-case-pdf) | |
echo "dristi_case_pdf_commit=$dristi_case_pdf_commit" >> $GITHUB_ENV | |
esign_interceptor_commit=$(git log -1 --pretty=format:%H -- backend/esign-interceptor) | |
echo "esign_interceptor_commit=$esign_interceptor_commit" >> $GITHUB_ENV | |
esign_svc_commit=$(git log -1 --pretty=format:%H -- backend/e-sign-svc) | |
echo "esign_svc_commit=$esign_svc_commit" >> $GITHUB_ENV | |
epost_tracker_commit=$(git log -1 --pretty=format:%H -- backend/epost-tracker) | |
echo "epost_tracker_commit=$epost_tracker_commit" >> $GITHUB_ENV | |
transformer_commit=$(git log -1 --pretty=format:%H -- backend/transformer) | |
echo "transformer_commit=$transformer_commit" >> $GITHUB_ENV | |
order_commit=$(git log -1 --pretty=format:%H -- backend/order) | |
echo "order_commit=$order_commit" >> $GITHUB_ENV | |
evidence_commit=$(git log -1 --pretty=format:%H -- backend/evidence) | |
echo "evidence_commit=$evidence_commit" >> $GITHUB_ENV | |
application_commit=$(git log -1 --pretty=format:%H -- backend/application) | |
echo "application_commit=$application_commit" >> $GITHUB_ENV | |
scheduler_commit=$(git log -1 --pretty=format:%H -- backend/scheduler-svc) | |
echo "scheduler_commit=$scheduler_commit" >> $GITHUB_ENV | |
summons_svc_commit=$(git log -1 --pretty=format:%H -- backend/summons-svc) | |
echo "summons_svc_commit=$summons_svc_commit" >> $GITHUB_ENV | |
collection_service_commit=$(git log -1 --pretty=format:%H -- common/collection-services) | |
echo "collection_service_commit=$collection_service_commit" >> $GITHUB_ENV | |
task_commit=$(git log -1 --pretty=format:%H -- backend/task) | |
echo "task_commit=$task_commit" >> $GITHUB_ENV | |
digit_ui_commit=$(git log -1 --pretty=format:%H -- frontend/micro-ui) | |
echo "digit_ui_commit=$digit_ui_commit" >> $GITHUB_ENV | |
analytics_commit=$(git log -1 --pretty=format:%H -- backend/analytics) | |
echo "analytics_commit=$analytics_commit" >> $GITHUB_ENV | |
individual_commit=$(git log -1 --pretty=format:%H -- common/individual) | |
echo "individual_commit=$individual_commit" >> $GITHUB_ENV | |
inbox_commit=$(git log -1 --pretty=format:%H -- common/inbox) | |
echo "inbox_commit=$inbox_commit" >> $GITHUB_ENV | |
etreasury_commit=$(git log -1 --pretty=format:%H -- backend/treasury-backend) | |
echo "etreasury_commit=$etreasury_commit" >> $GITHUB_ENV | |
epayment_commit=$(git log -1 --pretty=format:%H -- backend/treasury-webpage) | |
echo "epayment_commit=$epayment_commit" >> $GITHUB_ENV | |
sbi_svc_commit=$(git log -1 --pretty=format:%H -- backend/sbi-backend) | |
echo "sbi_svc_commit=$sbi_svc_commit" >> $GITHUB_ENV | |
sbi_ui_commit=$(git log -1 --pretty=format:%H -- backend/sbi-webpage) | |
echo "sbi_ui_commit=$sbi_ui_commit" >> $GITHUB_ENV | |
integration_commit=$(git log -1 --pretty=format:%H -- backend/icops_integration-kerala) | |
echo "integration_commit=$integration_commit" >> $GITHUB_ENV | |
kerala_sms_commit=$(git log -1 --pretty=format:%H -- backend/kerala-sms) | |
echo "kerala_sms_commit=$kerala_sms_commit" >> $GITHUB_ENV | |
billing_service_commit=$(git log -1 --pretty=format:%H -- common/billing-service) | |
echo "billing_service_commit=$billing_service_commit" >> $GITHUB_ENV | |
dristi_pdf_commit=$(git log -1 --pretty=format:%H -- utilities/dristi-pdf) | |
echo "dristi_pdf_commit=$dristi_pdf_commit" >> $GITHUB_ENV | |
- name: digit deployment | |
run: | | |
helmfile -l deployment=pucar -f digit-helmfile.yaml apply --include-needs=true \ | |
--set scheduler.image.tag=v1.0.0-${{ env.scheduler_commit }} \ | |
--set scheduler.initContainers.dbMigration.image.tag=v1.0.0-${{ env.scheduler_commit }} \ | |
--set payment-calculator.image.tag=v1.0.0-${{ env.payment_calculator_commit }} \ | |
--set payment-calculator.initContainers.dbMigration.image.tag=v1.0.0-${{ env.payment_calculator_commit }} \ | |
--set digit-ui.image.tag=v1.0.0-${{ env.digit_ui_commit }} \ | |
--set dristi-case-pdf.image.tag=v1.0.0-${{ env.dristi_case_pdf_commit }} \ | |
--set dristi-pdf.image.tag=v1.0.0-${{ env.dristi_pdf_commit }} \ | |
--set advocate.image.tag=v1.0.0-${{ env.advocate_commit }} \ | |
--set advocate.initContainers.dbMigration.image.tag=v1.0.0-${{ env.advocate_commit }} \ | |
--set case.image.tag=v1.0.0-${{ env.case_commit }} \ | |
--set case.initContainers.dbMigration.image.tag=v1.0.0-${{ env.case_commit }} \ | |
--set casemanagement.image.tag=v1.0.0-${{ env.casemanagement_commit }} \ | |
--set casemanagement.initContainers.dbMigration.image.tag=v1.0.0-${{ env.casemanagement_commit }} \ | |
--set evidence.image.tag=v1.0.0-${{ env.evidence_commit }} \ | |
--set evidence.initContainers.dbMigration.image.tag=v1.0.0-${{ env.evidence_commit }} \ | |
--set hearing.image.tag=v1.0.0-${{ env.hearing_commit }} \ | |
--set hearing.initContainers.dbMigration.image.tag=v1.0.0-${{ env.hearing_commit }} \ | |
--set order.image.tag=v1.0.0-${{ env.order_commit }} \ | |
--set order.initContainers.dbMigration.image.tag=v1.0.0-${{ env.order_commit }} \ | |
--set task.image.tag=v1.0.0-${{ env.task_commit }} \ | |
--set task.initContainers.dbMigration.image.tag=v1.0.0-${{ env.task_commit }} \ | |
--set billing-service.image.tag=v1.0.0-${{ env.billing_service_commit }} \ | |
--set billing-service.initContainers.dbMigration.image.tag=v1.0.0-${{ env.billing_service_commit }} \ | |
--set collection-services.image.tag=v1.0.0-${{ env.collection_service_commit }} \ | |
--set collection-services.initContainers.dbMigration.image.tag=v1.0.0-${{ env.collection_service_commit }} \ | |
--set individual.image.tag=v1.0.0-${{ env.individual_commit }} \ | |
--set individual.initContainers.dbMigration.image.tag=v1.0.0-${{ env.individual_commit }} \ | |
--set inbox.image.tag=v1.0.0-${{ env.inbox_commit }} \ | |
--set e-sign-svc.image.tag=v1.0.0-${{ env.esign_svc_commit }} \ | |
--set esign-interceptor.image.tag=v1.0.0-${{ env.esign_interceptor_commit }} \ | |
--set application.image.tag=v1.0.0-${{ env.application_commit }} \ | |
--set application.initContainers.dbMigration.image.tag=v1.0.0-${{ env.application_commit }} \ | |
--set analytics.image.tag=v1.0.0-${{ env.analytics_commit }} \ | |
--set epayments.image.tag=v1.0.0-${{ env.epayment_commit }} \ | |
--set etreasury.image.tag=v1.0.0-${{ env.etreasury_commit }} \ | |
--set etreasury.initContainers.dbMigration.image.tag=v1.0.0-${{ env.etreasury_commit }} \ | |
--set sbi-webpage.image.tag=v1.0.0-${{ env.sbi_ui_commit }} \ | |
--set sbi-svc.image.tag=v1.0.0-${{ env.sbi_svc_commit }} \ | |
--set sbi-svc.initContainers.dbMigration.image.tag=v1.0.0-${{ env.sbi_svc_commit }} \ | |
--set epost-tracker.image.tag=v1.0.0-${{ env.epost_tracker_commit }} \ | |
--set epost-tracker.initContainers.dbMigration.image.tag=v1.0.0-${{ env.epost_tracker_commit }} \ | |
--set summons-svc.image.tag=v1.0.0-${{ env.summons_svc_commit }} \ | |
--set summons-svc.initContainers.dbMigration.image.tag=v1.0.0-${{ env.summons_svc_commit }} \ | |
--set transformer.image.tag=v1.0.0-${{ env.transformer_commit }} \ | |
--set icops-integration.image.tag=v1.0.0-${{ env.integration_commit }} \ | |
--set icops-integration.initContainers.dbMigration.image.tag=v1.0.0-${{ env.integration_commit }} | |
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 }} |