Skip to content

Commit fad3971

Browse files
Enhance CI/CD workflow for ECR integration
Added ECR repository creation step and updated variable usage.
1 parent e95a289 commit fad3971

File tree

1 file changed

+19
-10
lines changed

1 file changed

+19
-10
lines changed

.github/workflows/ci-cd.yml

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ jobs:
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

Comments
 (0)