1515 env :
1616 AWS_REGION : ${{ secrets.AWS_REGION }}
1717 AWS_ROLE_ARN : ${{ secrets.AWS_ROLE_ARN }}
18+ AWS_ACCOUNT_ID : ${{ secrets.AWS_ACCOUNT_ID }}
1819 DB_NAME : ${{ secrets.DB_NAME }}
1920 DB_USER : ${{ secrets.DB_USER }}
2021 DB_PASSWORD : ${{ secrets.DB_PASSWORD }}
@@ -28,34 +29,42 @@ jobs:
2829 TF_VAR_db_username : ${{ secrets.DB_USER }}
2930 TF_VAR_db_password : ${{ secrets.DB_PASSWORD }}
3031 TF_VAR_db_name : ${{ secrets.DB_NAME }}
31- ECR_REPO_URI : ${{ secrets.ECR_REPO_URI }}
32+ ECR_REPO_NAME : " crud-lambda"
33+
3234 steps :
3335 - name : Checkout code
3436 uses : actions/checkout@v3
3537
36- - name : Setup AWS credentials via OIDC
38+ - name : Configure AWS credentials via OIDC
3739 uses : aws-actions/configure-aws-credentials@v2
3840 with :
3941 role-to-assume : ${{ secrets.AWS_ROLE_ARN }}
4042 aws-region : ${{ secrets.AWS_REGION }}
4143
42- - name : Login to ECR
44+ - name : Login to Amazon ECR
4345 uses : aws-actions/amazon-ecr-login@v1
46+ with :
47+ region : ${{ secrets.AWS_REGION }}
48+
49+ - name : Create ECR repository if not exists
50+ run : |
51+ aws ecr describe-repositories --repository-names ${{ env.ECR_REPO_NAME }} || \
52+ aws ecr create-repository --repository-name ${{ env.ECR_REPO_NAME }}
53+ echo "ECR repository '${{ env.ECR_REPO_NAME }}' ready."
4454
4555 - name : Build Docker image
4656 run : |
57+ IMAGE_URI=${{ secrets.AWS_ACCOUNT_ID }}.dkr.ecr.${{ secrets.AWS_REGION }}.amazonaws.com/${{ env.ECR_REPO_NAME }}:latest
58+ echo "Building Docker image..."
4759 docker build -t crud-lambda .
48- <<<<<<< HEAD
49-
5060 docker tag crud-lambda:latest $IMAGE_URI
5161 echo "Docker image tagged as $IMAGE_URI"
52- =======
53- docker tag crud-lambda:latest ${{ secrets.AWS_ACCOUNT_ID }}.dkr.ecr.${{ secrets.AWS_REGION }}.amazonaws.com/crud-lambda:latest
54- >>>>>>> c73b217 (set up changed)
5562
5663 - name : Push Docker image to ECR
57- run : docker push ${{ secrets.AWS_ACCOUNT_ID }}.dkr.ecr.${{ secrets.AWS_REGION }}.amazonaws.com/crud-lambda:latest
58-
64+ run : |
65+ IMAGE_URI=${{ secrets.AWS_ACCOUNT_ID }}.dkr.ecr.${{ secrets.AWS_REGION }}.amazonaws.com/${{ env.ECR_REPO_NAME }}:latest
66+ echo "Pushing Docker image to ECR..."
67+ docker push $IMAGE_URI
5968
6069 - name : Setup Terraform
6170 uses : hashicorp/setup-terraform@v2
0 commit comments