전체 글88 [querydsl] in절 동적 쿼리 작성 주의점(1=2) 프로젝트를 진행하며 querydsl로 동적 쿼리를 처리해주고 있다. 태그와 같은 기능을 위해서 여러개의 태그를 가진 게시글을 검색해주기 위한 in 절을 사용하고 있다. 이때 제대로 처리를 해주지 않아 문제가 발생했다. private BooleanExpression studyIdIn(List studyIds) { return studyIds != null ? postStudy.study.id.in(studyIds) : null; } 태그를 위한 검색 조건 중 studyIds라는 필드가 있는데 이것이 null 인 경우에는 위 메서드에 의해서 null 값이 반환되어 where 절에서 무시된다. 테스트시에도 항상 studyIds 필드에는 null을 지정하거나, id들을 지정해서 넣었기 때문에 문제가 발생하지 않.. 2023. 4. 3. GCP 인스턴스와 도메인 연결하기 개인 프로젝트에서 세션 인증 방식을 사용하고 있다. 젠킨스를 이용한 원격지 배포까지 성공적으로 수행하였으나, 로컬에서 프론트엔드를 띄워서 접속 후 로그인시 세션이 유지되지 않는 문제가 발생하였다. 이를 해결하기 위해서는 SSL 인증서를 발급받아 HTTPS 통신을 수행해야 한다는 것을 인지하였다. 영역 만들기를 통해 새로운 도메인 영역을 만들어준다. 도메인 이름은 가비아에서 제일 저렴한 것으로 구매했다. NS 유형을 선택하고 가비아 네임서버 설정을 GCP로 변경해준다. 가비아의 유의사항에 따르면 네임서버 변경에 1~2일 정도 시간이 소요된다고 한다. 1시간 정도 후에 nslookup -type=ns {도메인} 명령어를 통해 네임서버가 정상적으로 바뀐 것을 확인하였다. 2023. 4. 1. nginx 설치 및 https 설정(GCP) $ sudo y nginx $ sudo systemctl start nginx 새로운 인스턴스에 nignx를 설치하고 기동한다. $ sudo vi /etc/nginx/nginx.conf 로드밸런싱을 위해 설정파일 연다. upstream {그룹이름} { server {IP:PORT}; server {IP:PORT}; } server { .... location / { proxy_pass http://{그룹이름}; } .... } upstream에 로드 밸런싱할 서버 목록을 입력한다. 로드 밸런싱을 default로 라운드로빈으로 이루어진다. 작성이 완료되면 $ sudo systemctl reload nginx 명령어로 nginx를 재기동시킨다. nginx 서버에 접속시 오류가 발생하면 $ sudo tail .. 2023. 4. 1. jenkins 원격지 배포하기 publish over ssh를 사용하기 위해 우선 개인키, 공개키 쌍을 만들어야 한다. $ sudo mkdir .ssh $ sudo ssh-keygen .ssh 디렉터리 하위에 id_rsa id_rsa.pub 개인키, 공개키 쌍이 생성된 것을 확인할 수 있다. 다음 원격지의 배포를 진행하기 위해 새로운 가상머신 인스턴스를 생성해준다. jenkins의 플러그인 탭에서 publish over ssh를 설치한다. 이후 시스템 설정 탭에서 추가 정보를 입력해준다. 1. Key 에는 발급받은 개인키를 붙여넣어준다. 2. SSH 서버를 추가하고 Name에는 원하는 이름 3. Hostname에는 대상 인스턴스의 내부 IP 4. Username에는 계정 이름 5. remote directory는 파일이 전송되기를 원.. 2023. 3. 31. jenkins 웹훅 걸기 새롭게 아이템을 생성해주고, GitHub project url에 대상 리포지토리의 주소를 기입한다. 소스 코드 관리로 Git을 선택해주고, 자격 증명을 위해 github 계정 정보를 입력해준다. Gradle을 사용하고 있으므로 수행할 Tasks로 build를 입력한다. 대상 repository 웹훅을 등록해준다. 이제 push 이벤트가 발생할 때마다 젠킨스는 자동으로 빌드할 것이다. push 이벤트가 발생하지 않아도 '지금빌드'를 클릭하면 정상적으로 빌드가 성공하는 모습을 확인할 수 있다. 빌드 완료된 파일은 /var/lib/jenkins/workspace/{프로젝트}/build/libs 에 위치하고 있다. java -jar {...}.jar 명령어를 통해 작동하는 것을 확인할 수 있다. 2023. 3. 31. centos7 jenkins 설치 $ sudo yum list java*jdk-devel jdk11 버전 설치를 위함 $ sudo yum install java-11-openjdk-devel.x86_64 jdk11 버전 설치 $ which java $ readlink -f /usr/bin/java 자바의 실행파일 경로를 확인하고, 심볼릭 링크 파일의 원본 경로를 확인한다. $ sudo vi /etc/profile 자바 환경 변수 설정 최하단에 아래와 같은 내용을 추가 export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.18.0.10-1.el7_9.x86_64 $ source /etc/profile $ echo $JAVA_HOME 환경 변수로 등록한 경로가 출력되면 성공 $ sudo yum insta.. 2023. 3. 31. 이전 1 ··· 10 11 12 13 14 15 다음