From 4118cf633d58d98c8b3a59dfe4799ddc8ecec3d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=B5=9C=ED=98=84=EC=B2=A0?= Date: Mon, 6 May 2024 20:05:17 +0900 Subject: [PATCH 1/4] =?UTF-8?q?[202002574=20=EC=B5=9C=ED=98=84=EC=B2=A0]?= =?UTF-8?q?=20CURD=20=EA=B3=BC=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/blank.yml | 76 +++++++++++++++++++ .github/workflows/deployment_scp.yml | 54 ++++++------- .../DevlogSpringbootApplication.java | 2 +- .../controller/PostController.java | 8 +- .../controller/ProjectController.java | 53 +++++++++++++ .../exception/DevlogException.java | 12 +++ .../exception/GlobalExceptionHandler.java | 26 +++++++ .../com/cnu/devlog_springboot/model/Post.java | 2 +- .../cnu/devlog_springboot/model/Project.java | 2 +- .../model/request/PostRequest.java | 2 +- .../model/request/ProjectRequest.java | 2 +- .../model/response/ErrorResponse.java | 9 +++ .../repository/PostRepository.java | 8 +- .../repository/ProjectRepository.java | 9 +++ .../service/PostService.java | 18 +++-- .../service/ProjectService.java | 56 ++++++++++++++ .../cnu/devlog_springboot/type/ErrorCode.java | 28 +++++++ .../com/cnu/devlog_springboot/type/Tag.java | 2 +- 18 files changed, 326 insertions(+), 43 deletions(-) create mode 100644 .github/workflows/blank.yml create mode 100644 src/main/java/com/com/cnu/devlog_springboot/controller/ProjectController.java create mode 100644 src/main/java/com/com/cnu/devlog_springboot/exception/DevlogException.java create mode 100644 src/main/java/com/com/cnu/devlog_springboot/exception/GlobalExceptionHandler.java create mode 100644 src/main/java/com/com/cnu/devlog_springboot/model/response/ErrorResponse.java create mode 100644 src/main/java/com/com/cnu/devlog_springboot/repository/ProjectRepository.java create mode 100644 src/main/java/com/com/cnu/devlog_springboot/service/ProjectService.java create mode 100644 src/main/java/com/com/cnu/devlog_springboot/type/ErrorCode.java diff --git a/.github/workflows/blank.yml b/.github/workflows/blank.yml new file mode 100644 index 0000000..0036fab --- /dev/null +++ b/.github/workflows/blank.yml @@ -0,0 +1,76 @@ +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. +# This workflow will build a Java project with Gradle and cache/restore any dependencies to improve the workflow execution time +# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-gradle + +name: Deployment + +on: + workflow_dispatch: + push: + branches: [ "main" ] + +permissions: + contents: read + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Set up JDK 17 + uses: actions/setup-java@v3 + with: + java-version: '17' + distribution: 'temurin' + - name: Build with Gradle + uses: gradle/gradle-build-action@67421db6bd0bf253fb4bd25b31ebb98943c375e1 + with: + arguments: build + - uses: actions/upload-artifact@v3 + with: + name: jar + path: build/libs + + send-jar: + needs: build + runs-on: ubuntu-latest + steps: + - name: Download jar + uses: actions/download-artifact@v3 + with: + name: jar + - name: Send jar to remote server + uses: appleboy/scp-action@master + with: + host: 34.64.165.134 + username: mingjji022 + source: "devlog_springboot-0.0.1-SNAPSHOT.jar" + target: "/home/" + key: ${{ secrets.PRIVATE_KEY }} + + run-app: + needs: send-jar + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Move deploy.sh + uses: appleboy/scp-action@master + with: + host: 34.64.165.134 + username: mingjji022 + source: "deploy.sh" + target: "/home/mingjji022" + key: ${{ secrets.PRIVATE_KEY }} + - name: Execute script + uses: appleboy/ssh-action@master + with: + username: minjji022 + host: 34.64.165.134 + key: ${{ secrets.PRIVATE_KEY }} + script_stop: true + script: cd /home/mingjji022 && chmod +x deploy.sh && ./deploy.sh \ No newline at end of file diff --git a/.github/workflows/deployment_scp.yml b/.github/workflows/deployment_scp.yml index 8d91ebb..0ee79ef 100644 --- a/.github/workflows/deployment_scp.yml +++ b/.github/workflows/deployment_scp.yml @@ -19,26 +19,26 @@ jobs: build: runs-on: ubuntu-latest steps: - - name: Checkout - uses: actions/checkout@v3 - - name: Set up JDK 17 - uses: actions/setup-java@v3 - with: - java-version: '17' - distribution: 'temurin' - - name: Build with Gradle - uses: gradle/gradle-build-action@67421db6bd0bf253fb4bd25b31ebb98943c375e1 - with: - arguments: build - - uses: actions/upload-artifact@v3 - with: - name: jar - path: build/libs - + - name: Checkout + uses: actions/checkout@v3 + - name: Set up JDK 21 + uses: actions/setup-java@v3 + with: + java-version: '21' + distribution: 'temurin' + - name: Build with Gradle + uses: gradle/gradle-build-action@67421db6bd0bf253fb4bd25b31ebb98943c375e1 + with: + arguments: build + - uses: actions/upload-artifact@v3 + with: + name: jar + path: build/libs + send-jar: needs: build runs-on: ubuntu-latest - steps: + steps: - name: Download jar uses: actions/download-artifact@v3 with: @@ -46,12 +46,12 @@ jobs: - name: Send jar to remote server uses: appleboy/scp-action@master with: - host: {나의 public ip} - username: {나의 userName} + host: 34.64.165.134 + username: mingjji022 source: "devlog_springboot-0.0.1-SNAPSHOT.jar" - target: "/home/{나의 userName}" + target: "/home/mingjji022" key: ${{ secrets.PRIVATE_KEY }} - + run-app: needs: send-jar runs-on: ubuntu-latest @@ -61,16 +61,16 @@ jobs: - name: Move deploy.sh uses: appleboy/scp-action@master with: - host: {나의 public ip} - username: {나의 userName} + host: 34.64.165.134 + username: mingjji022 source: "deploy.sh" - target: "/home/{나의 userName}" + target: "/home/mingjji022" key: ${{ secrets.PRIVATE_KEY }} - name: Execute script uses: appleboy/ssh-action@master with: - username: {나의 userName} - host: {나의 public ip} + username: mingjji022 + host: 34.64.165.134 key: ${{ secrets.PRIVATE_KEY }} script_stop: true - script: cd /home/{나의 userName} && chmod +x deploy.sh && ./deploy.sh + script: cd /home/mingjji022/ && chmod +x deploy.sh && ./deploy.sh \ No newline at end of file diff --git a/src/main/java/com/com/cnu/devlog_springboot/DevlogSpringbootApplication.java b/src/main/java/com/com/cnu/devlog_springboot/DevlogSpringbootApplication.java index 6739bf0..2f04c43 100644 --- a/src/main/java/com/com/cnu/devlog_springboot/DevlogSpringbootApplication.java +++ b/src/main/java/com/com/cnu/devlog_springboot/DevlogSpringbootApplication.java @@ -10,4 +10,4 @@ public static void main(String[] args) { SpringApplication.run(DevlogSpringbootApplication.class, args); } -} +} \ No newline at end of file diff --git a/src/main/java/com/com/cnu/devlog_springboot/controller/PostController.java b/src/main/java/com/com/cnu/devlog_springboot/controller/PostController.java index 7d6847f..59fb85f 100644 --- a/src/main/java/com/com/cnu/devlog_springboot/controller/PostController.java +++ b/src/main/java/com/com/cnu/devlog_springboot/controller/PostController.java @@ -3,6 +3,8 @@ import com.com.cnu.devlog_springboot.model.Post; import com.com.cnu.devlog_springboot.model.request.PostRequest; import com.com.cnu.devlog_springboot.service.PostService; +import com.com.cnu.devlog_springboot.type.Tag; +import jakarta.annotation.Nullable; import lombok.RequiredArgsConstructor; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; @@ -17,8 +19,8 @@ public class PostController { // GET /posts @GetMapping - public ResponseEntity> getPosts() { - return ResponseEntity.ok(postService.getPosts()); + public ResponseEntity> getPosts(@RequestParam @Nullable Tag tag) { + return ResponseEntity.ok(postService.getPosts(tag)); } // GET /posts/{postId} @@ -49,4 +51,4 @@ public ResponseEntity deletePost(@PathVariable("postId") Integer postId) { postService.deletePost(postId); return ResponseEntity.noContent().build(); } -} +} \ No newline at end of file diff --git a/src/main/java/com/com/cnu/devlog_springboot/controller/ProjectController.java b/src/main/java/com/com/cnu/devlog_springboot/controller/ProjectController.java new file mode 100644 index 0000000..478c934 --- /dev/null +++ b/src/main/java/com/com/cnu/devlog_springboot/controller/ProjectController.java @@ -0,0 +1,53 @@ +package com.com.cnu.devlog_springboot.controller; + +import com.com.cnu.devlog_springboot.model.Project; +import com.com.cnu.devlog_springboot.model.request.ProjectRequest; +import com.com.cnu.devlog_springboot.service.ProjectService; +import java.util.List; +import lombok.RequiredArgsConstructor; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/project") +@RequiredArgsConstructor +public class ProjectController { + + private final ProjectService projectService; + + @PostMapping + public ResponseEntity createPost(@RequestBody ProjectRequest projectRequest) { + return ResponseEntity.ok(projectService.createProject(projectRequest)); + } + + @GetMapping + public ResponseEntity> getProjects() { + return ResponseEntity.ok(projectService.getProjects()); + } + + @GetMapping("{projectId}") + public ResponseEntity getProject(@PathVariable("projectId") Integer projectId) { + return ResponseEntity.ok(projectService.getProject(projectId)); + } + + @PutMapping("{projectId}") + public ResponseEntity updateProject( + @PathVariable("projectId") Integer projectId, + @RequestBody ProjectRequest projectRequest + ) { + return ResponseEntity.ok(projectService.updateProject(projectId, projectRequest)); + } + + @DeleteMapping("{projectId}") + public ResponseEntity deletePost(@PathVariable("projectId") Integer projectId) { + projectService.deleteProject(projectId); + return ResponseEntity.noContent().build(); + } +} \ No newline at end of file diff --git a/src/main/java/com/com/cnu/devlog_springboot/exception/DevlogException.java b/src/main/java/com/com/cnu/devlog_springboot/exception/DevlogException.java new file mode 100644 index 0000000..3a80590 --- /dev/null +++ b/src/main/java/com/com/cnu/devlog_springboot/exception/DevlogException.java @@ -0,0 +1,12 @@ +package com.com.cnu.devlog_springboot.exception; + +import com.com.cnu.devlog_springboot.type.ErrorCode; +import lombok.AllArgsConstructor; +import lombok.Getter; + + +@Getter +@AllArgsConstructor +public class DevlogException extends RuntimeException { + private final ErrorCode errorCode; +} \ No newline at end of file diff --git a/src/main/java/com/com/cnu/devlog_springboot/exception/GlobalExceptionHandler.java b/src/main/java/com/com/cnu/devlog_springboot/exception/GlobalExceptionHandler.java new file mode 100644 index 0000000..28fcd4b --- /dev/null +++ b/src/main/java/com/com/cnu/devlog_springboot/exception/GlobalExceptionHandler.java @@ -0,0 +1,26 @@ +package com.com.cnu.devlog_springboot.exception; + +import com.com.cnu.devlog_springboot.model.response.ErrorResponse; +import jakarta.servlet.http.HttpServletRequest; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.ExceptionHandler; + +@ControllerAdvice +public class GlobalExceptionHandler { + + @ExceptionHandler(DevlogException.class) + public ResponseEntity handleDevlogException( + HttpServletRequest request, DevlogException e + ) { + return ResponseEntity.status(e.getErrorCode().getHttpStatus()) + .body( + new ErrorResponse( + e.getErrorCode().getDescription(), + e.getErrorCode().getHttpStatus().value(), + e.getErrorCode().getErrorCode(), + request.getRequestURI() + ) + ); + } +} \ No newline at end of file diff --git a/src/main/java/com/com/cnu/devlog_springboot/model/Post.java b/src/main/java/com/com/cnu/devlog_springboot/model/Post.java index 51f5b6e..2ea3069 100644 --- a/src/main/java/com/com/cnu/devlog_springboot/model/Post.java +++ b/src/main/java/com/com/cnu/devlog_springboot/model/Post.java @@ -17,4 +17,4 @@ public class Post { String contents; @Enumerated(value = EnumType.STRING) Tag tag; -} +} \ No newline at end of file diff --git a/src/main/java/com/com/cnu/devlog_springboot/model/Project.java b/src/main/java/com/com/cnu/devlog_springboot/model/Project.java index 29d0b72..6c05e46 100644 --- a/src/main/java/com/com/cnu/devlog_springboot/model/Project.java +++ b/src/main/java/com/com/cnu/devlog_springboot/model/Project.java @@ -22,4 +22,4 @@ public class Project { String contents; LocalDate startDate; LocalDate endDate; -} +} \ No newline at end of file diff --git a/src/main/java/com/com/cnu/devlog_springboot/model/request/PostRequest.java b/src/main/java/com/com/cnu/devlog_springboot/model/request/PostRequest.java index 14efa3b..75b50eb 100644 --- a/src/main/java/com/com/cnu/devlog_springboot/model/request/PostRequest.java +++ b/src/main/java/com/com/cnu/devlog_springboot/model/request/PostRequest.java @@ -7,4 +7,4 @@ public record PostRequest( String contents, Tag tag ) { -} +} \ No newline at end of file diff --git a/src/main/java/com/com/cnu/devlog_springboot/model/request/ProjectRequest.java b/src/main/java/com/com/cnu/devlog_springboot/model/request/ProjectRequest.java index 2ae3a17..8716f42 100644 --- a/src/main/java/com/com/cnu/devlog_springboot/model/request/ProjectRequest.java +++ b/src/main/java/com/com/cnu/devlog_springboot/model/request/ProjectRequest.java @@ -9,4 +9,4 @@ public record ProjectRequest( LocalDate startDate, LocalDate endDate ) { -} +} \ No newline at end of file diff --git a/src/main/java/com/com/cnu/devlog_springboot/model/response/ErrorResponse.java b/src/main/java/com/com/cnu/devlog_springboot/model/response/ErrorResponse.java new file mode 100644 index 0000000..81e82db --- /dev/null +++ b/src/main/java/com/com/cnu/devlog_springboot/model/response/ErrorResponse.java @@ -0,0 +1,9 @@ +package com.com.cnu.devlog_springboot.model.response; + +public record ErrorResponse( + String title, + Integer status, + Integer code, + String instance +) { +} \ No newline at end of file diff --git a/src/main/java/com/com/cnu/devlog_springboot/repository/PostRepository.java b/src/main/java/com/com/cnu/devlog_springboot/repository/PostRepository.java index bb39395..231d273 100644 --- a/src/main/java/com/com/cnu/devlog_springboot/repository/PostRepository.java +++ b/src/main/java/com/com/cnu/devlog_springboot/repository/PostRepository.java @@ -1,13 +1,17 @@ package com.com.cnu.devlog_springboot.repository; import com.com.cnu.devlog_springboot.model.Post; +import com.com.cnu.devlog_springboot.type.Tag; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; +import java.util.List; + @Repository public interface PostRepository extends JpaRepository { -// Post save(Post post); + // Post save(Post post); // List findAll(); // Optional findById(Integer postId); // void delete(Post post); -} + List findAllByTag(Tag tag); +} \ No newline at end of file diff --git a/src/main/java/com/com/cnu/devlog_springboot/repository/ProjectRepository.java b/src/main/java/com/com/cnu/devlog_springboot/repository/ProjectRepository.java new file mode 100644 index 0000000..a666911 --- /dev/null +++ b/src/main/java/com/com/cnu/devlog_springboot/repository/ProjectRepository.java @@ -0,0 +1,9 @@ +package com.com.cnu.devlog_springboot.repository; + +import com.com.cnu.devlog_springboot.model.Project; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; + +@Repository +public interface ProjectRepository extends JpaRepository { +} \ No newline at end of file diff --git a/src/main/java/com/com/cnu/devlog_springboot/service/PostService.java b/src/main/java/com/com/cnu/devlog_springboot/service/PostService.java index 3823d7a..af3d88b 100644 --- a/src/main/java/com/com/cnu/devlog_springboot/service/PostService.java +++ b/src/main/java/com/com/cnu/devlog_springboot/service/PostService.java @@ -1,19 +1,28 @@ package com.com.cnu.devlog_springboot.service; +import com.com.cnu.devlog_springboot.exception.DevlogException; import com.com.cnu.devlog_springboot.model.Post; import com.com.cnu.devlog_springboot.model.request.PostRequest; import com.com.cnu.devlog_springboot.repository.PostRepository; +import com.com.cnu.devlog_springboot.type.ErrorCode; +import com.com.cnu.devlog_springboot.type.Tag; +import io.micrometer.common.lang.Nullable; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import org.springframework.web.bind.annotation.RequestParam; import java.util.List; @Service @RequiredArgsConstructor public class PostService { + private final PostRepository postRepository; - public List getPosts() { + public List getPosts(@Nullable Tag tag) { + if(tag != null) { + return postRepository.findAllByTag(tag); + } return postRepository.findAll(); } @@ -25,7 +34,6 @@ public Post creatPost(PostRequest postRequest) { postRequest.tag() )); } - public Post updatePost(Integer postId, PostRequest postRequest) { return postRepository.findById(postId) .map(post -> { @@ -33,16 +41,16 @@ public Post updatePost(Integer postId, PostRequest postRequest) { post.setContents(postRequest.contents()); return postRepository.save(post); }) - .orElse(null); + .orElseThrow(() -> new DevlogException(ErrorCode.POST_NOT_FOUND)); } public Post getPost(Integer postId) { return postRepository.findById(postId) - .orElse(null); + .orElseThrow(() -> new DevlogException(ErrorCode.POST_NOT_FOUND)); } public void deletePost(Integer postId) { postRepository.findById(postId) .ifPresent(postRepository::delete); } -} +} \ No newline at end of file diff --git a/src/main/java/com/com/cnu/devlog_springboot/service/ProjectService.java b/src/main/java/com/com/cnu/devlog_springboot/service/ProjectService.java new file mode 100644 index 0000000..c4b345a --- /dev/null +++ b/src/main/java/com/com/cnu/devlog_springboot/service/ProjectService.java @@ -0,0 +1,56 @@ +package com.com.cnu.devlog_springboot.service; + +import com.com.cnu.devlog_springboot.exception.DevlogException; +import com.com.cnu.devlog_springboot.model.Project; +import com.com.cnu.devlog_springboot.model.request.ProjectRequest; +import com.com.cnu.devlog_springboot.repository.ProjectRepository; +import com.com.cnu.devlog_springboot.type.ErrorCode; + +import java.util.List; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Service; + +@Service +@AllArgsConstructor +public class ProjectService { + private final ProjectRepository projectRepository; + + public List getProjects() { + return projectRepository.findAll(); + } + + public Project createProject(ProjectRequest projectRequest) { + return projectRepository.save( + new Project( + null, + projectRequest.title(), + projectRequest.summary(), + projectRequest.contents(), + projectRequest.startDate(), + projectRequest.endDate() + ) + ); + } + + public Project updateProject(Integer projectId, ProjectRequest projectRequest) { + return projectRepository.findById(projectId) + .map(project -> { + project.setTitle(projectRequest.title()); + project.setContents(projectRequest.contents()); + project.setSummary(projectRequest.summary()); + project.setStartDate(projectRequest.startDate()); + project.setEndDate(projectRequest.endDate()); + return projectRepository.save(project); + }).orElseThrow(() -> new DevlogException(ErrorCode.PROJECT_NOT_FOUND)); + } + + public Project getProject(Integer projectId) { + return projectRepository.findById(projectId) + .orElseThrow(() -> new DevlogException(ErrorCode.PROJECT_NOT_FOUND)); + } + + public void deleteProject(Integer projectId) { + projectRepository.findById(projectId) + .ifPresent(projectRepository::delete); + } +} \ No newline at end of file diff --git a/src/main/java/com/com/cnu/devlog_springboot/type/ErrorCode.java b/src/main/java/com/com/cnu/devlog_springboot/type/ErrorCode.java new file mode 100644 index 0000000..d2c08ed --- /dev/null +++ b/src/main/java/com/com/cnu/devlog_springboot/type/ErrorCode.java @@ -0,0 +1,28 @@ +package com.com.cnu.devlog_springboot.type; + +import lombok.Getter; +import org.springframework.http.HttpStatus; + +@Getter +public enum ErrorCode { + POST_NOT_FOUND( + HttpStatus.NOT_FOUND, + 4000, + "해당 게시글을 찾을 수 없습니다."), + + PROJECT_NOT_FOUND( + HttpStatus.NOT_FOUND, + 4001, + "해당 프로젝트를 찾을 수 없습니다.") + ; + + private final HttpStatus httpStatus; + private final Integer errorCode; + private final String description; + + ErrorCode(HttpStatus httpStatus, Integer errorCode, String description) { + this.httpStatus = httpStatus; + this.errorCode = errorCode; + this.description = description; + } +} \ No newline at end of file diff --git a/src/main/java/com/com/cnu/devlog_springboot/type/Tag.java b/src/main/java/com/com/cnu/devlog_springboot/type/Tag.java index ebd77de..eb66222 100644 --- a/src/main/java/com/com/cnu/devlog_springboot/type/Tag.java +++ b/src/main/java/com/com/cnu/devlog_springboot/type/Tag.java @@ -6,4 +6,4 @@ public enum Tag { REACT, OS, NETWORK -} +} \ No newline at end of file From 149acef13d8ce5e1a28cc0a0e850530256094cbc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=B5=9C=ED=98=84=EC=B2=A0?= Date: Mon, 6 May 2024 20:16:11 +0900 Subject: [PATCH 2/4] =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/blank.yml | 76 ---------------------------- .github/workflows/deployment_scp.yml | 22 ++++---- 2 files changed, 11 insertions(+), 87 deletions(-) delete mode 100644 .github/workflows/blank.yml diff --git a/.github/workflows/blank.yml b/.github/workflows/blank.yml deleted file mode 100644 index 0036fab..0000000 --- a/.github/workflows/blank.yml +++ /dev/null @@ -1,76 +0,0 @@ -# This workflow uses actions that are not certified by GitHub. -# They are provided by a third-party and are governed by -# separate terms of service, privacy policy, and support -# documentation. -# This workflow will build a Java project with Gradle and cache/restore any dependencies to improve the workflow execution time -# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-gradle - -name: Deployment - -on: - workflow_dispatch: - push: - branches: [ "main" ] - -permissions: - contents: read - -jobs: - build: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - - name: Set up JDK 17 - uses: actions/setup-java@v3 - with: - java-version: '17' - distribution: 'temurin' - - name: Build with Gradle - uses: gradle/gradle-build-action@67421db6bd0bf253fb4bd25b31ebb98943c375e1 - with: - arguments: build - - uses: actions/upload-artifact@v3 - with: - name: jar - path: build/libs - - send-jar: - needs: build - runs-on: ubuntu-latest - steps: - - name: Download jar - uses: actions/download-artifact@v3 - with: - name: jar - - name: Send jar to remote server - uses: appleboy/scp-action@master - with: - host: 34.64.165.134 - username: mingjji022 - source: "devlog_springboot-0.0.1-SNAPSHOT.jar" - target: "/home/" - key: ${{ secrets.PRIVATE_KEY }} - - run-app: - needs: send-jar - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - - name: Move deploy.sh - uses: appleboy/scp-action@master - with: - host: 34.64.165.134 - username: mingjji022 - source: "deploy.sh" - target: "/home/mingjji022" - key: ${{ secrets.PRIVATE_KEY }} - - name: Execute script - uses: appleboy/ssh-action@master - with: - username: minjji022 - host: 34.64.165.134 - key: ${{ secrets.PRIVATE_KEY }} - script_stop: true - script: cd /home/mingjji022 && chmod +x deploy.sh && ./deploy.sh \ No newline at end of file diff --git a/.github/workflows/deployment_scp.yml b/.github/workflows/deployment_scp.yml index 0ee79ef..6224539 100644 --- a/.github/workflows/deployment_scp.yml +++ b/.github/workflows/deployment_scp.yml @@ -21,10 +21,10 @@ jobs: steps: - name: Checkout uses: actions/checkout@v3 - - name: Set up JDK 21 + - name: Set up JDK 17 uses: actions/setup-java@v3 with: - java-version: '21' + java-version: '17' distribution: 'temurin' - name: Build with Gradle uses: gradle/gradle-build-action@67421db6bd0bf253fb4bd25b31ebb98943c375e1 @@ -46,10 +46,10 @@ jobs: - name: Send jar to remote server uses: appleboy/scp-action@master with: - host: 34.64.165.134 - username: mingjji022 + host: {나의 public ip} + username: {나의 userName} source: "devlog_springboot-0.0.1-SNAPSHOT.jar" - target: "/home/mingjji022" + target: "/home/{나의 userName}" key: ${{ secrets.PRIVATE_KEY }} run-app: @@ -61,16 +61,16 @@ jobs: - name: Move deploy.sh uses: appleboy/scp-action@master with: - host: 34.64.165.134 - username: mingjji022 + host: {나의 public ip} + username: {나의 userName} source: "deploy.sh" - target: "/home/mingjji022" + target: "/home/{나의 userName}" key: ${{ secrets.PRIVATE_KEY }} - name: Execute script uses: appleboy/ssh-action@master with: - username: mingjji022 - host: 34.64.165.134 + username: {나의 userName} + host: {나의 public ip} key: ${{ secrets.PRIVATE_KEY }} script_stop: true - script: cd /home/mingjji022/ && chmod +x deploy.sh && ./deploy.sh \ No newline at end of file + script: cd /home/{나의 userName} && chmod +x deploy.sh && ./deploy.sh \ No newline at end of file From 83b1b2e9c1d4c903c5378cd1455feb6d07f4638a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=B5=9C=ED=98=84=EC=B2=A0?= Date: Mon, 6 May 2024 20:22:30 +0900 Subject: [PATCH 3/4] =?UTF-8?q?ip=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/deployment_scp.yml | 48 ++++++++++++++-------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/.github/workflows/deployment_scp.yml b/.github/workflows/deployment_scp.yml index 6224539..3c189ee 100644 --- a/.github/workflows/deployment_scp.yml +++ b/.github/workflows/deployment_scp.yml @@ -19,21 +19,21 @@ jobs: build: runs-on: ubuntu-latest steps: - - name: Checkout - uses: actions/checkout@v3 - - name: Set up JDK 17 - uses: actions/setup-java@v3 - with: - java-version: '17' - distribution: 'temurin' - - name: Build with Gradle - uses: gradle/gradle-build-action@67421db6bd0bf253fb4bd25b31ebb98943c375e1 - with: - arguments: build - - uses: actions/upload-artifact@v3 - with: - name: jar - path: build/libs + - name: Checkout + uses: actions/checkout@v3 + - name: Set up JDK 21 + uses: actions/setup-java@v3 + with: + java-version: '21' + distribution: 'temurin' + - name: Build with Gradle + uses: gradle/gradle-build-action@67421db6bd0bf253fb4bd25b31ebb98943c375e1 + with: + arguments: build + - uses: actions/upload-artifact@v3 + with: + name: jar + path: build/libs send-jar: needs: build @@ -46,10 +46,10 @@ jobs: - name: Send jar to remote server uses: appleboy/scp-action@master with: - host: {나의 public ip} - username: {나의 userName} + host: 118.235.15.160 + username: guscjf1211 source: "devlog_springboot-0.0.1-SNAPSHOT.jar" - target: "/home/{나의 userName}" + target: "/home/guscjf1211" key: ${{ secrets.PRIVATE_KEY }} run-app: @@ -61,16 +61,16 @@ jobs: - name: Move deploy.sh uses: appleboy/scp-action@master with: - host: {나의 public ip} - username: {나의 userName} + host: 118.235.15.160 + username: guscjf1211 source: "deploy.sh" - target: "/home/{나의 userName}" + target: "/home/guscjf1211" key: ${{ secrets.PRIVATE_KEY }} - name: Execute script uses: appleboy/ssh-action@master with: - username: {나의 userName} - host: {나의 public ip} + username: guscjf1211 + host: 118.235.15.160 key: ${{ secrets.PRIVATE_KEY }} script_stop: true - script: cd /home/{나의 userName} && chmod +x deploy.sh && ./deploy.sh \ No newline at end of file + script: cd /home/{나의 userName} && chmod +x deploy.sh && ./deploy.sh From dd0d304b6d87240189ea3b9ed8782e47f3fb4dc8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=B5=9C=ED=98=84=EC=B2=A0?= Date: Mon, 6 May 2024 20:31:16 +0900 Subject: [PATCH 4/4] test branch --- .../com/com/cnu/devlog_springboot/controller/PostController.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/com/com/cnu/devlog_springboot/controller/PostController.java b/src/main/java/com/com/cnu/devlog_springboot/controller/PostController.java index 59fb85f..e7afd9c 100644 --- a/src/main/java/com/com/cnu/devlog_springboot/controller/PostController.java +++ b/src/main/java/com/com/cnu/devlog_springboot/controller/PostController.java @@ -15,6 +15,7 @@ @RequestMapping("/posts") @RequiredArgsConstructor public class PostController { + private final PostService postService; // GET /posts