스프링부트 프로젝트에서 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....
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을 이용하여 공통 예외 처리를 추가했습니다....
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을 등록합니다....
스프링 배치 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값을 입력하고 인증정보를 추가합니다....