diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/ci-cd.yml index 69eed43..1e58044 100644 --- a/.github/workflows/ci-cd.yml +++ b/.github/workflows/ci-cd.yml @@ -7,10 +7,10 @@ jobs: runs-on: [ ubuntu-latest ] steps: - name: Checkout source - uses: actions/checkout@v3 + uses: actions/checkout@v5 - name: Setup Java - uses: actions/setup-java@v3 + uses: actions/setup-java@v5 with: distribution: 'temurin' java-version: '17' @@ -19,15 +19,15 @@ jobs: run: mvn clean install -DskipTests - name: Configure AWS credentials - uses: aws-actions/configure-aws-credentials@v3 + uses: aws-actions/configure-aws-credentials@v5.0.0 with: aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - aws-region: 'eu-north-1' + aws-region: 'us-east-1' - name: Login to Amazon ECR id: login-ecr - uses: aws-actions/amazon-ecr-login@v1 + uses: aws-actions/amazon-ecr-login@v2 with: mask-password: 'true' @@ -52,9 +52,9 @@ jobs: container-name: springboot-example image: ${{ steps.build-image.outputs.image }} - name: Deploy Amazon ECS task definition - uses: aws-actions/amazon-ecs-deploy-task-definition@v1 + uses: aws-actions/amazon-ecs-deploy-task-definition@v2 with: task-definition: ${{ steps.task-def.outputs.task-definition }} service: springboot-example-service - cluster: DevCluster2 + cluster: springboot-cluster wait-for-service-stability: true diff --git a/springboot-app-task-definition.json b/springboot-app-task-definition.json index 291b67f..fa5d554 100644 --- a/springboot-app-task-definition.json +++ b/springboot-app-task-definition.json @@ -1,44 +1,57 @@ { - "taskDefinitionArn": "arn:aws:ecs:eu-north-1:974142680250:task-definition/springboot-app-task-definition:6", + "compatibilities": [ + "EC2", + "FARGATE" + ], "containerDefinitions": [ { - "name": "springboot-example", - "image": "974142680250.dkr.ecr.eu-north-1.amazonaws.com/springboot-example:latest", "cpu": 0, - "portMappings": [ - { - "name": "springboot-example-8080-tcp", - "containerPort": 8080, - "hostPort": 8080, - "protocol": "tcp", - "appProtocol": "http" - } - ], - "essential": true, "environment": [], "environmentFiles": [], - "mountPoints": [], - "volumesFrom": [], - "ulimits": [], + "essential": true, + "image": "493233983811.dkr.ecr.us-east-1.amazonaws.com/springboot-example:latest", "logConfiguration": { "logDriver": "awslogs", "options": { - "awslogs-create-group": "true", "awslogs-group": "/ecs/springboot-app-task-definition", - "awslogs-region": "eu-north-1", + "awslogs-create-group": "true", + "awslogs-region": "us-east-1", "awslogs-stream-prefix": "ecs" }, "secretOptions": [] - } + }, + "mountPoints": [], + "name": "springboot-example", + "portMappings": [ + { + "appProtocol": "http", + "containerPort": 80, + "hostPort": 80, + "name": "springboot-example-80-tcp", + "protocol": "tcp" + }, + { + "appProtocol": "http", + "containerPort": 8080, + "hostPort": 8080, + "name": "springboot-example-8080-tcp", + "protocol": "tcp" + } + ], + "systemControls": [], + "ulimits": [], + "volumesFrom": [] } ], + "cpu": "1024", + "enableFaultInjection": false, + "executionRoleArn": "arn:aws:iam::493233983811:role/ecsTaskExecutionRole", "family": "springboot-app-task-definition", - "taskRoleArn": "arn:aws:iam::974142680250:role/ecsTaskExecutionRole", - "executionRoleArn": "arn:aws:iam::974142680250:role/ecsTaskExecutionRole", + "memory": "3072", "networkMode": "awsvpc", - "revision": 6, - "volumes": [], - "status": "ACTIVE", + "placementConstraints": [], + "registeredAt": "2025-09-23T19:14:25.667Z", + "registeredBy": "arn:aws:iam::493233983811:root", "requiresAttributes": [ { "name": "com.amazonaws.ecs.capability.logging-driver.awslogs" @@ -68,21 +81,17 @@ "name": "com.amazonaws.ecs.capability.docker-remote-api.1.29" } ], - "placementConstraints": [], - "compatibilities": [ - "EC2", - "FARGATE" - ], "requiresCompatibilities": [ "FARGATE" ], - "cpu": "1024", - "memory": "3072", + "revision": 1, "runtimePlatform": { "cpuArchitecture": "X86_64", "operatingSystemFamily": "LINUX" }, - "registeredAt": "2023-12-08T19:03:51.274Z", - "registeredBy": "arn:aws:iam::974142680250:user/integration-ninjas", + "status": "ACTIVE", + "taskDefinitionArn": "arn:aws:ecs:us-east-1:493233983811:task-definition/springboot-app-task-definition:1", + "taskRoleArn": "arn:aws:iam::493233983811:role/ecsTaskExecutionRole", + "volumes": [], "tags": [] } diff --git a/src/main/java/com/integrationninjas/springbootexample/controller/UserController.java b/src/main/java/com/integrationninjas/springbootexample/controller/UserController.java index 97e6421..551f65e 100644 --- a/src/main/java/com/integrationninjas/springbootexample/controller/UserController.java +++ b/src/main/java/com/integrationninjas/springbootexample/controller/UserController.java @@ -1,3 +1,4 @@ +/*Controller File*/ package com.integrationninjas.springbootexample.controller; import java.util.List; diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index de4b4b0..94ea359 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,6 +1,6 @@ -spring.datasource.url=jdbc:mysql://user-management.cbvxsmsv5dwh.eu-north-1.rds.amazonaws.com:3306/user_management -spring.datasource.username=root -spring.datasource.password=password +spring.datasource.url=jdbc:mysql://db-springboot-app.cixqiqg6s3xi.us-east-1.rds.amazonaws.com:3306/db-springboot-app +spring.datasource.username=admin +spring.datasource.password=Cryastal#$86 spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQLDialect -spring.jpa.hibernate.ddl-auto=update \ No newline at end of file +spring.jpa.hibernate.ddl-auto=update diff --git a/src/test/java/com/integrationninjas/springbootexample/SpringbootExampleApplicationTests.java b/src/test/java/com/integrationninjas/springbootexample/SpringbootExampleApplicationTests.java index fda1add..cf034cd 100644 --- a/src/test/java/com/integrationninjas/springbootexample/SpringbootExampleApplicationTests.java +++ b/src/test/java/com/integrationninjas/springbootexample/SpringbootExampleApplicationTests.java @@ -1,3 +1,4 @@ +/*Springboot*/ package com.integrationninjas.springbootexample; import org.junit.jupiter.api.Test;