From 64bd1771cd80838bd5a5bb897f726a7d00777248 Mon Sep 17 00:00:00 2001 From: voynow Date: Sun, 10 Nov 2024 12:51:18 -0500 Subject: [PATCH] api deploy script --- api/deploy.sh | 37 +++++++++++++++++++++++++++++-------- api/readme.md | 7 ------- 2 files changed, 29 insertions(+), 15 deletions(-) mode change 100644 => 100755 api/deploy.sh delete mode 100644 api/readme.md diff --git a/api/deploy.sh b/api/deploy.sh old mode 100644 new mode 100755 index 39ca83a..c58eecd --- a/api/deploy.sh +++ b/api/deploy.sh @@ -1,12 +1,33 @@ #!/bin/bash -echo "Logging in to ECR" -aws ecr get-login-password --region $AWS_REGION | docker login --username AWS --password-stdin $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com -echo "Building image" -docker build --no-cache --platform=linux/amd64 -t $REGISTRY_NAME . +# Check if Docker is running, and start it if not +if ! docker info >/dev/null 2>&1; then + echo "Starting Docker..." + open --background -a Docker + while ! docker info >/dev/null 2>&1; do + sleep 1 + done + echo "Docker started." +fi -echo "Tagging image" -docker tag $REGISTRY_NAME:$TAG $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/$REGISTRY_NAME:$TAG +# Build and push the image +poetry export --without-hashes -f requirements.txt -o requirements.txt +docker build -t trackflow . +docker tag trackflow:latest 498969721544.dkr.ecr.us-east-1.amazonaws.com/trackflow:latest +aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin 498969721544.dkr.ecr.us-east-1.amazonaws.com +docker push 498969721544.dkr.ecr.us-east-1.amazonaws.com/trackflow:latest -echo "Pushing image to ECR" -docker push $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/$REGISTRY_NAME:$TAG \ No newline at end of file +# Get the image digest +image_digest=$(aws ecr describe-images \ + --repository-name trackflow \ + --image-ids imageTag=latest \ + --query 'imageDetails[0].imageDigest' \ + --output text) + +# Update the image in the Terraform variables +cd ../infra/app +sed -i '' "s|^image = .*|image = \"498969721544.dkr.ecr.us-east-1.amazonaws.com/trackflow@$image_digest\"|" terraform.tfvars +terraform apply -auto-approve + +# Return to the api folder +cd ../../api diff --git a/api/readme.md b/api/readme.md deleted file mode 100644 index 0fd3985..0000000 --- a/api/readme.md +++ /dev/null @@ -1,7 +0,0 @@ - - -docker build -t trackflow . -docker tag trackflow:latest 498969721544.dkr.ecr.us-east-1.amazonaws.com/trackflow:latest -aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin 498969721544.dkr.ecr.us-east-1.amazonaws.com -docker push 498969721544.dkr.ecr.us-east-1.amazonaws.com/trackflow:latest -