Prepping pipeline for UAT

This commit is contained in:
Umang Mistry
2024-05-29 16:21:58 -05:00
parent 9e54dd1637
commit e835849c91
+24 -7
View File
@@ -16,7 +16,7 @@ definitions:
export AWS_SECRET_ACCESS_KEY=$(echo $STS_OUTPUT | jq -r '.Credentials.SecretAccessKey');
export AWS_SECURITY_TOKEN=$(echo $STS_OUTPUT | jq -r '.Credentials.SessionToken');
export AWS_REGION='us-east-2';
- script: &ssm-send-command
- script: &ssm-send-command-dev
aws ssm send-command --document-name "AWS-RunShellScript" --instance-ids $DEV_INSTANCE_ID_TF --region $AWS_DEFAULT_REGION --parameters commands='[
"sudo -u ubuntu -i <<EOF",
"export HOME=/home/ubuntu",
@@ -24,6 +24,14 @@ definitions:
"if [ -d /home/ubuntu/doczy.ai ]; then cd /home/ubuntu/doczy.ai && git fetch && git pull; else cd /home/ubuntu && git clone git@bitbucket.org:aarete/doczy.ai.git; fi",
"EOF"
]'
- script: &ssm-send-command-uat
aws ssm send-command --document-name "AWS-RunShellScript" --instance-ids $UAT_INSTANCE_ID_TF --region $AWS_DEFAULT_REGION --parameters commands='[
"sudo -u ubuntu -i <<EOF",
"export HOME=/home/ubuntu",
"git config --global --add safe.directory /home/ubuntu/doczy.ai",
"if [ -d /home/ubuntu/doczy.ai ]; then cd /home/ubuntu/doczy.ai && git fetch && git pull; else cd /home/ubuntu && git clone git@bitbucket.org:aarete/doczy.ai.git; fi",
"EOF"
]'
- step: &snowflake_deploy
name: "Deploy Snowflake Changes"
@@ -121,7 +129,7 @@ pipelines:
- apt-get update && apt-get install -y jq git
- pip install awscli
- *aws-context-dev
- *ssm-send-command
- *ssm-send-command-dev
condition:
changesets:
includePaths:
@@ -198,7 +206,7 @@ pipelines:
- cd devops-pipeline/terraform-backend-resources/
- terraform validate
# Ensure the backend configuration for s3 obj key is correct
- terraform init -migrate-state -backend-config="access_key=$AWS_ACCESS_KEY_ID" -backend-config="secret_key=$AWS_SECRET_ACCESS_KEY" -backend-config="token=$AWS_SESSION_TOKEN" -backend-config="dynamodb_table=doczyai-use2-u-infra-dyd-terraform-lock" -backend-config="bucket=doczyai-use2-u-infra-s3-terraform-state" -backend-config="key=terraform/textract-pipeline/terraform.tfstate"
- terraform init -migrate-state -backend-config="access_key=$AWS_ACCESS_KEY_ID" -backend-config="secret_key=$AWS_SECRET_ACCESS_KEY" -backend-config="token=$AWS_SESSION_TOKEN" -backend-config="dynamodb_table=doczyai-use2-u-infra-dyd-terraform-lock" -backend-config="bucket=doczyai-use2-u-infra-s3-terraform-state" -backend-config="key=terraform/devops-pipeline/terraform.tfstate"
- terraform apply --auto-approve -no-color -var "access_key=$AWS_ACCESS_KEY_ID" -var "secret_key=$AWS_SECRET_ACCESS_KEY" -var "token=$AWS_SESSION_TOKEN" -var "aws_region=us-east-2" -var "environment=uat"
condition:
changesets:
@@ -215,7 +223,7 @@ pipelines:
- cd streamlit-server/
- terraform validate
# Ensure the backend configuration for s3 obj key is correct
- terraform init -migrate-state -backend-config="access_key=$AWS_ACCESS_KEY_ID" -backend-config="secret_key=$AWS_SECRET_ACCESS_KEY" -backend-config="token=$AWS_SESSION_TOKEN" -backend-config="dynamodb_table=doczyai-use2-u-infra-dyd-terraform-lock" -backend-config="bucket=doczyai-use2-u-infra-s3-terraform-state" -backend-config="key=terraform/textract-pipeline/terraform.tfstate"
- terraform init -migrate-state -backend-config="access_key=$AWS_ACCESS_KEY_ID" -backend-config="secret_key=$AWS_SECRET_ACCESS_KEY" -backend-config="token=$AWS_SESSION_TOKEN" -backend-config="dynamodb_table=doczyai-use2-u-infra-dyd-terraform-lock" -backend-config="bucket=doczyai-use2-u-infra-s3-terraform-state" -backend-config="key=terraform/streamlit-server/terraform.tfstate"
- terraform apply --auto-approve -no-color -var "access_key=$AWS_ACCESS_KEY_ID" -var "secret_key=$AWS_SECRET_ACCESS_KEY" -var "token=$AWS_SESSION_TOKEN" -var "aws_region=us-east-2" -var "environment=uat"
condition:
changesets:
@@ -231,12 +239,21 @@ pipelines:
- snowflake/UAT/**/*
- snowflake/UAT/**/**/*
- step:
<<: *streamlit_deploy
image: python:3.8
name: "Deploy streamlit to EC2"
oidc: true
trigger: manual # Keeping it manual as the server will be created first and then referenced in this
script:
- python -m pip install --upgrade pip
- apt-get update && apt-get install -y jq git
- pip install awscli
- *aws-context-dev
- *ssm-send-command-uat
condition:
changesets:
includePaths:
- "streamlit/*"
- "streamlit/**/*"
- streamlit/*
- streamlit/**/*
- step:
<<: *airflow_dags_deploy
trigger: manual