diff --git a/.github/workflows/cicd-branch-main.yml b/.github/workflows/cicd-branch-main.yml new file mode 100644 index 0000000..4e8e52e --- /dev/null +++ b/.github/workflows/cicd-branch-main.yml @@ -0,0 +1,46 @@ +name: cicd branch main + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + +jobs: + deploy: + name: Deploy + runs-on: ubuntu-latest + + steps: + - name: checkout src + - uses: actions/checkout@v2 + + - name: Set up JDK 11 + uses: actions/setup-java@v2 + with: + java-version: '11' + + - name: Grant execute permission for gradlew + run: chmod 777 gradlew + shell: bash + + - name: Clean build test with Gradle # clean build test + run: ./gradlew clean build test + shell: bash + + - name: Make zip file # zip 파일 생성 + run: zip -r ./springboot-blog.zip . + shell: bash + + - name: Configure AWS credentials # AWS 자격 증명 + uses: aws-actions/configure-aws-credentials@v1 + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_KEY }} + aws-region: ${{ secrets.AWS_REGION }} + + - name: Upload to S3 # S3 업로드 + run: aws s3 cp --region ${{ secrets.AWS_REGION }} ./springboot-blog.zip s3://${{ secrets.AWS_S3_BUCKET }}/CI/springboot-blog.zip + + - name: Code Deploy # CodeDeploy에 배포 요청 + run: aws deploy create-deployment --application-name ${{ secrets.AWS_CODEDEPLOY_NAME }} --deployment-config-name CodeDeployDefault.AllAtOnce --deployment-group-name ${{ secrets.AWS_CODEDEPLOY_GROUP }} --s3-location bucket=${{ secrets.AWS_S3_BUCKET }},bundleType=zip,key=CI/springboot-blog.zip diff --git a/src/main/java/myblog/blog/article/adapter/incomming/ArticleController.java b/src/main/java/myblog/blog/article/adapter/incomming/ArticleController.java index 83d709c..fbaa2c0 100644 --- a/src/main/java/myblog/blog/article/adapter/incomming/ArticleController.java +++ b/src/main/java/myblog/blog/article/adapter/incomming/ArticleController.java @@ -130,8 +130,8 @@ public class ArticleController { @RequestParam String tagName, Model model) { Page articleList = articleQueriesUseCase.getArticlesByTag(tagName, page); - for(ArticleResponseForCardBox article : articleList){ - article.setContent(Jsoup.parse(getHtmlRenderer().render(getParser().parse(article.getContent()))).text()); + for(var article : articleList){ + article.parseAndRenderForView(); } var pagingBoxHandler = PagingBoxHandler.createOf(page, (int)articleList.getTotalElements()); layoutRenderingUseCase.AddLayoutTo(model); @@ -147,8 +147,8 @@ public class ArticleController { @RequestParam String keyword, Model model) { Page articleList = articleQueriesUseCase.getArticlesByKeyword(keyword, page); - for(ArticleResponseForCardBox article : articleList){ - article.setContent(Jsoup.parse(getHtmlRenderer().render(getParser().parse(article.getContent()))).text()); + for(var article : articleList){ + article.parseAndRenderForView(); } var pagingBoxHandler = PagingBoxHandler.createOf(page, (int)articleList.getTotalElements()); layoutRenderingUseCase.AddLayoutTo(model); diff --git a/src/main/java/myblog/blog/article/application/port/incomming/response/ArticleResponseForCardBox.java b/src/main/java/myblog/blog/article/application/port/incomming/response/ArticleResponseForCardBox.java index 8f0f47a..156c799 100644 --- a/src/main/java/myblog/blog/article/application/port/incomming/response/ArticleResponseForCardBox.java +++ b/src/main/java/myblog/blog/article/application/port/incomming/response/ArticleResponseForCardBox.java @@ -2,9 +2,13 @@ package myblog.blog.article.application.port.incomming.response; import lombok.Getter; import lombok.Setter; +import org.jsoup.Jsoup; import java.time.LocalDateTime; +import static myblog.blog.shared.utils.MarkdownUtils.getHtmlRenderer; +import static myblog.blog.shared.utils.MarkdownUtils.getParser; + /* - 메인 화면 렌더링용 아티클 DTO */ @@ -17,6 +21,8 @@ public class ArticleResponseForCardBox { private String thumbnailUrl; private LocalDateTime createdDate; - + public void parseAndRenderForView(){ + this.content = Jsoup.parse(getHtmlRenderer().render(getParser().parse(this.content))).text(); + } } diff --git a/src/main/java/myblog/blog/infra/ExceptionController.java b/src/main/java/myblog/blog/infra/exception/ExceptionController.java similarity index 94% rename from src/main/java/myblog/blog/infra/ExceptionController.java rename to src/main/java/myblog/blog/infra/exception/ExceptionController.java index 181a3c8..abd7845 100644 --- a/src/main/java/myblog/blog/infra/ExceptionController.java +++ b/src/main/java/myblog/blog/infra/exception/ExceptionController.java @@ -1,4 +1,4 @@ -package myblog.blog.infra; +package myblog.blog.infra.exception; import myblog.blog.shared.application.port.incomming.LayoutRenderingUseCase;