From a42b43c3d67c87cd63e7208f98ea6ed2cedba47c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=A0=95=EC=A4=80=EC=9A=B0?= <80523328+bviz6542@users.noreply.github.com> Date: Sun, 28 Jul 2024 18:17:51 +0900 Subject: [PATCH 1/9] feature: readme --- README.MD | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 README.MD diff --git a/README.MD b/README.MD new file mode 100644 index 0000000..e18e23b --- /dev/null +++ b/README.MD @@ -0,0 +1,5 @@ +

+ +

+ two friends gathering +

\ No newline at end of file From 5806b034225227cf2708844550c0c5683d924778 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=A0=95=EC=A4=80=EC=9A=B0?= <80523328+bviz6542@users.noreply.github.com> Date: Sun, 28 Jul 2024 18:27:20 +0900 Subject: [PATCH 2/9] fix: git actions rmq settings --- .github/workflows/deploy.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 717a618..d3d9d64 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -25,10 +25,6 @@ jobs: sudo docker pull ${{ secrets.DOCKER_IMAGE }}:latest sudo docker rm -f ${{ secrets.CONTAINER_NAME }} || true sudo docker run -d -p 8080:8080 --name ${{ secrets.CONTAINER_NAME }} \ - -e RMQ_HOST=${{ secrets.RMQ_HOST }} \ - -e RMQ_PORT=${{ secrets.RMQ_PORT }} \ - -e RMQ_USERNAME=${{ secrets.RMQ_USERNAME }} \ - -e RMQ_PASSWORD=${{ secrets.RMQ_PASSWORD }} \ -e MYSQL_URL=${{ secrets.MYSQL_URL }} \ -e MYSQL_USERNAME=${{ secrets.MYSQL_USERNAME }} \ -e MYSQL_PASSWORD=${{ secrets.MYSQL_PASSWORD }} \ From c942149c05ad43fd7ef7d8e42b913c9c51b48105 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=A0=95=EC=A4=80=EC=9A=B0?= <80523328+bviz6542@users.noreply.github.com> Date: Sun, 28 Jul 2024 18:36:41 +0900 Subject: [PATCH 3/9] fix: delete previos container via docker stop --- .github/workflows/deploy.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index d3d9d64..0dda55d 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -23,7 +23,15 @@ jobs: script: | sudo docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }} sudo docker pull ${{ secrets.DOCKER_IMAGE }}:latest + + EXISTING_CONTAINER=$(sudo docker ps --filter "publish=8080" -q) + if [ ! -z "$EXISTING_CONTAINER" ]; then + echo "Stopping and removing existing container on port 8080" + sudo docker stop $EXISTING_CONTAINER + sudo docker rm $EXISTING_CONTAINER + fi sudo docker rm -f ${{ secrets.CONTAINER_NAME }} || true + sudo docker run -d -p 8080:8080 --name ${{ secrets.CONTAINER_NAME }} \ -e MYSQL_URL=${{ secrets.MYSQL_URL }} \ -e MYSQL_USERNAME=${{ secrets.MYSQL_USERNAME }} \ From f8199d6ead7107a4ee1ced7d56473d742eec8bdd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=A0=95=EC=A4=80=EC=9A=B0?= <80523328+bviz6542@users.noreply.github.com> Date: Sun, 28 Jul 2024 18:51:01 +0900 Subject: [PATCH 4/9] feature: ApplicationStartup PostConstruct Instant --- .../config/ApplicationStartup.java | 18 ++++++++++++++++++ .../controller/HealthController.java | 15 ++++++++++++--- 2 files changed, 30 insertions(+), 3 deletions(-) create mode 100644 src/main/java/com/example/swiftgathering_server/config/ApplicationStartup.java diff --git a/src/main/java/com/example/swiftgathering_server/config/ApplicationStartup.java b/src/main/java/com/example/swiftgathering_server/config/ApplicationStartup.java new file mode 100644 index 0000000..dbb293a --- /dev/null +++ b/src/main/java/com/example/swiftgathering_server/config/ApplicationStartup.java @@ -0,0 +1,18 @@ +package com.example.swiftgathering_server.config; + +import lombok.Getter; +import org.springframework.stereotype.Component; + +import jakarta.annotation.PostConstruct; +import java.time.Instant; + +@Component +public class ApplicationStartup { + @Getter + private static Instant startTime; + + @PostConstruct + public void onStartup() { + startTime = Instant.now(); + } +} diff --git a/src/main/java/com/example/swiftgathering_server/controller/HealthController.java b/src/main/java/com/example/swiftgathering_server/controller/HealthController.java index cddee5d..ad7ffff 100644 --- a/src/main/java/com/example/swiftgathering_server/controller/HealthController.java +++ b/src/main/java/com/example/swiftgathering_server/controller/HealthController.java @@ -1,15 +1,24 @@ package com.example.swiftgathering_server.controller; +import com.example.swiftgathering_server.config.ApplicationStartup; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.time.Instant; +import java.time.ZoneId; +import java.time.ZonedDateTime; +import java.time.format.DateTimeFormatter; + @Controller @RequestMapping("/health") public class HealthController { @GetMapping public ResponseEntity checkHealth() { - return ResponseEntity - .ok("v1.0.6"); + Instant bootTime = ApplicationStartup.getStartTime(); + ZonedDateTime bootTimeKST = bootTime.atZone(ZoneId.of("Asia/Seoul")); + String bootTimeFormatted = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss z").format(bootTimeKST); + String response = String.format("boot time: %s", bootTimeFormatted); + return ResponseEntity.ok(response); } -} +} \ No newline at end of file From 340b8334a3f4fb6a8dbce10f87bf400f4bb5e594 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=A0=95=EC=A4=80=EC=9A=B0?= <80523328+bviz6542@users.noreply.github.com> Date: Sun, 28 Jul 2024 19:06:51 +0900 Subject: [PATCH 5/9] fix: build and push first --- .github/workflows/deploy.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 0dda55d..ac2e15f 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -14,6 +14,16 @@ jobs: - name: Checkout code uses: actions/checkout@v2 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + + - name: Build and push Docker image + uses: docker/build-push-action@v2 + with: + context: . + push: true + tags: ${{ secrets.DOCKER_USERNAME }}/${{ secrets.DOCKER_IMAGE }}:latest + - name: Deploy to Instance uses: appleboy/ssh-action@master with: From fd7f4965bc63da834fed03343aaed6c61d61253a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=A0=95=EC=A4=80=EC=9A=B0?= <80523328+bviz6542@users.noreply.github.com> Date: Sun, 28 Jul 2024 19:08:49 +0900 Subject: [PATCH 6/9] fix: docker image name --- .github/workflows/deploy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index ac2e15f..f34ea49 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -22,7 +22,7 @@ jobs: with: context: . push: true - tags: ${{ secrets.DOCKER_USERNAME }}/${{ secrets.DOCKER_IMAGE }}:latest + tags: ${{ secrets.DOCKER_IMAGE }}:latest - name: Deploy to Instance uses: appleboy/ssh-action@master From e6f9cdcfbab211a2d291b0b83d1ec2dc6d5ec055 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=A0=95=EC=A4=80=EC=9A=B0?= <80523328+bviz6542@users.noreply.github.com> Date: Sun, 28 Jul 2024 19:11:53 +0900 Subject: [PATCH 7/9] fix: gradlew build --- .github/workflows/deploy.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index f34ea49..8657e89 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -14,6 +14,15 @@ jobs: - name: Checkout code uses: actions/checkout@v2 + - name: Set up JDK 17 + uses: actions/setup-java@v2 + with: + distribution: 'adopt' + java-version: '17' + + - name: Build with Gradle + run: ./gradlew build + - name: Set up Docker Buildx uses: docker/setup-buildx-action@v1 From 000ee124d477006d996cc976865e34a991cd3daa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=A0=95=EC=A4=80=EC=9A=B0?= <80523328+bviz6542@users.noreply.github.com> Date: Sun, 28 Jul 2024 19:19:41 +0900 Subject: [PATCH 8/9] fix: build in local --- .github/workflows/deploy.yml | 9 --------- 1 file changed, 9 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 8657e89..f34ea49 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -14,15 +14,6 @@ jobs: - name: Checkout code uses: actions/checkout@v2 - - name: Set up JDK 17 - uses: actions/setup-java@v2 - with: - distribution: 'adopt' - java-version: '17' - - - name: Build with Gradle - run: ./gradlew build - - name: Set up Docker Buildx uses: docker/setup-buildx-action@v1 From a33faada3eacb5e176aecddf381887022c9b0be2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=A0=95=EC=A4=80=EC=9A=B0?= <80523328+bviz6542@users.noreply.github.com> Date: Sun, 28 Jul 2024 19:32:12 +0900 Subject: [PATCH 9/9] fix: remove docker build from script --- .github/workflows/deploy.yml | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index f34ea49..0dda55d 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -14,16 +14,6 @@ jobs: - name: Checkout code uses: actions/checkout@v2 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v1 - - - name: Build and push Docker image - uses: docker/build-push-action@v2 - with: - context: . - push: true - tags: ${{ secrets.DOCKER_IMAGE }}:latest - - name: Deploy to Instance uses: appleboy/ssh-action@master with: