깃에 프로젝트가 존재하고 서버에 젠킨스가 설치되고 셋팅되어 있다는 전제하에 진행하도록 하겠습니다. 설정해보니 아래와 같은 진행순서를 가지면 될 것 같네요. Jenkins - Github 연결 설정 Github Webhook 설정 서버 방화벽 설정 1. Jenkins - Github 연결 밑에 내려가보면 GitHub Server 설정하는 항목이 보입니다. Credentials 밑에 +Add 를 선택하면 인증정보를 기입할 수 있습니다. 인증방식을 Secret Text 로 선택하고 사용하던 Personal access tokens를 입력해줍니다. 저는 Jenkins hook 용 토큰을 새로 만들어보겠습니다. repo와 admin:repo_hook 정도의 권한만 할당하여 생성했습니다. 그럼 이제 젠킨스에 git..
Jenkins에서 git 저장소 연동하여 배포하는 설정을 하였는데 빌드가 실패하였고 실패로그를 보니 gradle 빌드 파일들을 찾지 못한다는 오류였다. FAILURE: Build failed with an exception. * What went wrong: Directory '/var/lib/jenkins/workspace/sample' does not contain a Gradle build. A Gradle build should contain a 'settings.gradle' or 'settings.gradle.kts' file in its root directory. It may also contain a 'build.gradle' or 'build.gradle.kts' file. To cre..
JPA를 꾸준히 이용하며 학습중인데 이번에 테이블 연관관계를 설정하다가 복합키테이블을 연관지을일이 생겼다. 내 머리속으로 이해한데로 엔티티를 구성하고 테스트 쿼리를 수행했으나... 조인들이 제대로 걸리지 않았다. 그래서 무언가 복합키 상황일때 엔티티간 연관관계를 잘못 구성했는가 싶어 예제 테이블 만들어 다시 처음부터 구성해봤다. 테이블 구조는 아래와 같다. 사용자 정보가 있는 Users 테이블이 있고 권한정보가 있는 Roles 테이블이 있다. 그리고 유저에게 할당된 권한정보가 있는 UserRoles 테이블이 있다. UserRoles는 Users의 키와 Roles의 키를 포함하는 식별관계이다. UserRoles 엔티티의 키값이 2개가 되어 일반 엔티티를 구성할 수 없다. 이런 복합키를 가진 엔티티를 구성하..
지난번 이클립스(STS)와 인텔리제이에서 QueryDSL Q클래스를 생성해서 잘 동작하는 것을 확인했었다. [SpringBoot] QueryDSL Q클래스 생성하기 : annotationProcessor 방식 (feat.intelliJ) [SpringBoot] QueryDSL Q클래스 생성하기(feat.intelliJ) 지난번 STS (이클립스) 에서 QueryDSL을 설정했었다. [SpringBoot] QueryDSL Q클래스 생성하기(feat.STS) [SpringBoot] QueryDSL Q클래스 생성하기(feat.STS) JPA JPQL 을 사용하던 도중 QueryDSL 로 쿼리를 짜보고 싶어 셋팅 jong-bae.tistory.com 프로젝트를 전체 구동시킬때는 querydsl 이 동작하는데는 ..
JPA를 사용하면서 show-sql 과 format_sql 옵션으로 쿼리 로그를 사용하고 있는데 프로젝트 중 mybatis 도 일부 사용하고 있어 여기도 쿼리로그를 남기기위해 어떻게 할까 고민하던 중 p6spy 쿼리로깅을 찾게 되었다. 찾아보니까 아래와 같이 3가지 방법으로 설정할 수 있었다. # Datasource 방식 / URL연결 방식 implementation 'p6spy:p6spy:3.9.1' # SpringBoot 자동설정 방식 implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.8.1' URL 연결 방식은 예전에 쿼리 로깅을 적용했던 log4jdbc 와 비슷한 구조로 설정할 수 있다. spring: datasource: ..
새로운 서비스를 등록하거나 웹서버 port 를 변경했을 경우 외부에서 접근하면 당연히 접근이 안되기 때문에 리눅스에서도 방화벽 설정을 해줘야 한다. firewalld 를 사용하여 자주 사용하는 방화벽설정을 해보려고한다. # port 로 등록/해제 firewall-cmd --permanent --add-port=8080/tcp firewall-cmd --permanent --remove-port=8080/tcp # 서비스로 등록/해제 firewall-cmd --permanent --add-service=http firewall-cmd --permanent --remove-service=http # 방화벽 설정 재로드 firewall-cmd --reload 방화벽에 적용할 내용을 등록/해제 후 firewal..