Spring
-
[AWS + JENKINS + SONARQUBE] Spring 프로젝트 CI/CD 구현하기 3) CD 구현하기 ② (Sonarqube 설치 및 연동)Spring 2022. 9. 17. 09:14
이번엔 프로젝트를 배포할 때, Jenkins와 Sonarqube를 연동하여 코드에 문제가 없는지 확인한 후 배포가 진행되도록 할 것이다. Sonarqube 설치 배경 설정 먼저 sonarqube를 사용하기 위한 설정을 위해 다음과 같이 root사용자로 변환해준다. 기존 ubuntu 사용자로 진행시 permit denied가 된다. 자세한 내용은 다음에서 확인이 가능하다. https://docs.sonarqube.org/7.9/requirements/requirements/ Prerequisites and Overview | SonarQube Docs The only prerequisite for running SonarQube is to have Java (Oracle JRE 11 or OpenJDK 1..
-
[AWS + JENKINS + SONARQUBE] Spring 프로젝트 CI/CD 구현하기 2) CD 구현하기 ① (Jenkins 배포)Spring 2022. 9. 17. 09:14
지난 시간에 CI를 구현하였다면 이번엔 코드 배포도 자동으로 이루어지도록 구현해보자. 배포 배경 설정 먼저 프로젝트 배포 배경설정을 위해서 JDK, Maven을 설정해줄 것이다. 터미널에서 maven을 설치하고 설치된 jdk와 maven 경로를 확인할 수 있도록 설정해주자. ## java 확인 $ which javac $ readlink -f /usr/bin/javac ## JAVA_HOME 경로 설정 $ vim ~/.bashrc export JAVA_HOME=$(dirname $(dirname $(readlink -f $(which java)))) export PATH=$PATH:$JAVA_HOME/bin ## 설정파일 실행 $ source ~/.bashrc ## 경로 확인 $ echo $JAVA_HO..
-
[AWS + JENKINS + SONARQUBE] Spring 프로젝트 CI/CD 구현하기 1) CI 구현하기 (Jenkins 설치 및 실행, Github연동(ssh, webhook))Spring 2022. 9. 17. 09:14
CI/CD는 예전에 미션을 진행하면서 jenkins를 이용한 CI/CD 구현에 대해서 한번 찾아본 적이 있긴 하지만, 구체적으로 정리하면 좋을 것 같아 진행하게 되었다. ( 마침 면접용 spring 프로젝트가 생겼기 때문이기도 하다!😅 ) EC2에 자바 설치 가장 먼저 프로젝트를 배포할 ec2를 만들어 준다. 나의 경우 ubuntu 22.04 버전을 사용하고 퍼블릭 ip를 이용하여 접속이 가능하도록 설정해주었다. (ec2생성 파트는 지난 배포 블로그 글에서 자세히 다루었다) 먼저 ubuntu ec2에 접속하여 자바를 설치해준다. $ sudo apt update $ sudo apt install default-jre $ sudo apt install default-jdk ## 설치된 자바 버전 확인 $ j..
-
예외처리전략 ( ExceptionHandler ) 2Spring 2022. 1. 13. 18:17
https://dodop-blog.tistory.com/229 예외처리전략 (Exception Handler) 스프링에서 예외처리를 해주자. 예외발생 데이터타입을 일관된 형태로 생성해서 반응하도록 설정해준다. Error Response 먼저 예외의 형태를 잡아주는 클래스를 작성해준다. 메세지와 상태, 시간정 dodop-blog.tistory.com 이전 글에서 예외처리 전략을 이용하여 예외발생 데이터타입을 일관된 형태로 생성해서 반응하도록 설정하는 방법을 알았다. 그런데 여기서 모든 customException을 RuntimeException을 상속받아 중복되는 NotFoundException의 경우에도 모두 ControllerAdvice(GlobalExceptionHandler)에서 일일이 처리해주어야..
-
RESTful APISpring 2021. 12. 19. 15:41
API는 Application Programming INterface로 컴퓨터 프로그램간 서로 정보 교환이 가능하도록 하는 것으로 REST API는 REST기반으로 서비스 API를 구현한 것이다. RESTful API RESTful API란 REpresentational State Transfer로 자원에 대한 행위 를 HTTP Method(GET, POST, PUT, DELETE)로 표현하고 자원을 URI로 표현하는 REST아키텍쳐를 스타일 을 따르면서 구현된 시스템을 말한다. 이해하기 쉽고 사용하기 쉬운 API를 만드는 것이 목적이다. REST의 속성 REST는 자원 기반 구조(Resource Oriented Architecture)의 4가지 속성을 따른다. Addressability : 제공하는 모..
-
multipart.MaxUploadSizeExceededException 오류 발생시Spring 2021. 11. 6. 11:56
기본으로 설정된 multipart파일의 사이즈보다 넣으려는 파일의 크기가 크기 때문에 발생한다. (디폴트 값은 1048576 bytes = 1MB) application.properties에 값 설정을 변경해줌으로서 해결할 수 있다. SpringBoot 2.x의 버전 spring.servlet.multipart.maxFileSize=10MB spring.servlet.multipart.maxRequestSize=10MB SpringBoot 1.4.x & 1.5.x의 버전 spring.http.multipart.maxFileSize=10MB spring.http.multipart.maxRequestSize=10MB SpringBoot 1.3.x혹은 그 이전 버전 multipart.maxFileSize=10..
-
Data too long for column 오류 발생시Spring 2021. 11. 6. 11:52
컬럼에 기본 설정된 바이트 길이보다 들어온 데이터의 바이트 길이가 커서 발생하는 오류이다. 해당 컬럼의 길이를 늘려주면 해결된다. @Column(length = 늘이고자 하는 길이) String name; (참고한 사이트) https://scshim.tistory.com/337 [JPA] 오류 해결: “Data too long for column” Spring Data JPA를 통해 아래와 같은 엔티티로 MySQL 데이터베이스에 테이블을 생성한다고 가정하자. @Entity public class SurveyAnswer { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) Long id; Lo.. scshim.tistory.com
-
Amazon S3를 이용해서 파일 저장, 삭제하기Spring 2021. 11. 5. 22:54
이미 프로젝트의 로컬폴더에 이미지 저장하는 코드를 구현했었다. (FIle Uplaod Utils) 이것을 amazon S3를 통해서 원격으로 S3에 파일을 처리하도록 해보자. 먼저 aws에 가입해서 버킷을 만들어 주고 '내 보안자격 증명'에서 access_key와 secret_key을 만들어준다. (생략) 여기서 발급받은 access_key, secret_key는 절대! 외부로 노출되지 않도록 해야한다. (해당 키를 public github에 올린다거나 하면 aws에서 연락이 왔다는 글도 봤다.) 결제 카드를 등록해서 가입하고 결제와 관련된 부분이므로 조심 또 조심해야한다. (로그인 2차 보안도 해놓자) S3 Dependency com.amazonaws aws-java-sdk 1.11.1000 https..