Flyway 일부 수동으로 작업하기

스프링부트 프로젝트에서 Flyway를 사용하다 보면 수동으로 작업을 해야 하는 경우가 생깁니다. 데이터가 많은 테이블에 수동으로 컬럼이나 인덱스를 추가한다던가. 그런데 이렇게 되면 누가 수동으로 작업을 했는지 이력이 남지 않기때문에 이력관리도 할 수 있는 방법이 없을까하고 공식 Document를 찾아봤습니다. ignoreIgnoredMigrations파라미터를 테스트해 보았습니다. 버전 Flyway flyway-core 7.1.1 Spring Boot 2.4.1 테이블 추가, 서버 기동 sql버전 파일 추가 V1.0.0__Create_accounts.sql CREATE TABLE accounts ( user_id serial PRIMARY KEY, username VARCHAR ( 50 ) UNIQUE NOT NULL, password VARCHAR ( 50 ) NOT NULL, created_on TIMESTAMP NOT NULL ); V1....

2021-04-15 · bokyung

Sentry를 스프링부트 프로젝트에 적용하기

react.js에 Sentry를 적용하려고 찾아보던 중에 스프링부트도 대응언어에 포함되어있어서 테스트해 보았습니다. 버전 Spring Boot 2.4.1 Sentry sentry-spring-boot-starter 4.3.0 Sentry에 프로젝트 추가 및 설정 Sentry에 로그인 후 프로젝트를 생성합니다. Client Keys (DSN)메뉴에 있는 DSN키를 복사해둡니다. build.gradle.kts에 의존관계를 추가합니다. build.gradle.kts implementation("io.sentry:sentry-spring-boot-starter:4.3.0") application.properties에 DSN (Data Source Name)을 설정합니다. application.properties # DSN설정 sentry.dsn=https://xxxxxxxxxxxxxxxxxxxxxxxxxxx@xxxxxx.ingest.sentry.io/xxxxx # 에러 추척 설정 sentry.enable-tracing=true application-development.properties # 각각의 환경도 설정할 수 있습니다. sentry.environment=development Sentry에 에러를 보내기 위한 설정 RestApi프로젝트라 @RestControllerAdvice을 이용하여 공통 예외 처리를 추가했습니다....

2021-04-15 · bokyung

Jenkins에서 Spring Batch Job을 실행하기

Jenkins에서 스프링 배치 Job을 실행해 보았습니다. Jenkins 환경 Amazon Linux2 AMI ID : ami-0f27d081df46f326c AMI 이름 : amzn2-ami-hvm-2.0.20210303.0-x86_64-gp2 Jenkins version : Jenkins 2.284 환경변수와 플러그인 설정 여러 Job을 등록하는 경우 각각의 Job에서 같은 파라미터를 넘겨주게 되는데 환경변수에 등록해두면 관리하기가 편해집니다. Job파라미터로 실행날짜를 넘겨주기 위해서 timestamper플러그인을 사용하였습니다. Manage Jenkins > System Configuration > Configure System > Global properties > Environment variables에서 Job에서 공통으로 사용하는 환경변수를 설정합니다. 배치Job등록 New Item > Freestyle project을 선택해서 Job을 등록합니다....

2021-03-31 · bokyung

Jenkins에서 Spring Batch 프로젝트를 Gradle 빌드하기

스프링 배치 Job Runner를 조사하던 중에 Jenkins에서 batch프로젝트를 gradle빌드해 보았습니다. Jenkins 환경 Amazon Linux2 AMI ID : ami-0f27d081df46f326c AMI 이름 : amzn2-ami-hvm-2.0.20210303.0-x86_64-gp2 Jenkins version : Jenkins 2.284 인증정보 등록 Github 아이디/패스워드 인증 방법 Jenkins에서 Repository관련 작업이 가능하도록 Github에서 Personal access tokens를 발행합니다. ( Settings > Developer settings > Personal access tokens ) Manage Jenkins > Manage Credentials > domain에 있는 global을 클릭합니다. Kind는 Username with password를 선택하고 패스워드란에 Personal access tokens값을 입력하고 인증정보를 추가합니다....

2021-03-30 · bokyung

Amazon Linux2에 Jenkins 설치하기

로컬 도커환경에서 Jenkins를 테스트 하던 중에 에러가 나는 경우가 있어서 검증을 위해서 Amazon Linux2에 Jenkins를 설치 해 보았습니다. 설치한 Jenkins 환경 Amazon Linux2 AMI ID : ami-0f27d081df46f326c AMI 이름 : amzn2-ami-hvm-2.0.20210303.0-x86_64-gp2 Jenkins version : Jenkins 2.284 EC2 인스턴스 생성 및 Jenkins설치 EC2 인스턴스 생성 및 보안그룹 설정 맨위에 표시되는 AMI로 생성했습니다. 젠킨스 접속용 8080포트와 SSH접속용 22번 포트를 설정합니다. Jenkins 설치 Jenkins 공홈 설치 방법 에 나와있는 순서대로 설치하였습니다. sudo wget -O /etc/yum....

2021-03-17 · bokyung