강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

KHLIM님의 프로필 이미지
KHLIM

작성한 질문수

실전 jOOQ! Type Safe SQL with Java

질문) jOOQ 프로젝트에서 CI/CD 자동화 문의

해결된 질문

작성

·

58

1

안녕하세요, 강사님.

강의 잘 들었습니다. 감사합니다.

 

jOOQ를 사용한 프로젝트에서 CI/CD 과정을 어떻게 자동화하는지 궁금하여 문의드립니다.

CI/CD 서버와 데이터베이스를 연결하는 부분에서 보안 리스크가 큰 것 같은데, 실제 업무에서는 이 문제를 어떻게 해결하는지 알려주시면 감사하겠습니다.

 

아니면 자동 생성한 코드를 Git Repository에 함께 업로드해야 하는지 여쭙고 싶습니다. 이 경우 git commit이 깔끔해지지 않을 것 같아 걱정이 됩니다.

 

 

답변 3

1

설동민님의 프로필 이미지
설동민
지식공유자

KHLIM님 안녕하세요.

 

  1. CI 환경에서 DSL 생성을 위한 DB 연결

실제로 CI/CD 서버와 데이터베이스를 연결하는 부분은 여러 관리 포인트와 망분리와 같은 이슈들이 있어

 

testcontainers + flyway로 CI 환경에서 테스트컨테이너로 DSL을 만드는 방식을 주로 사용하고 있습니다. 해당 내용은 아래 강의에서 확인 가능하십니다.

 

image.png

 

 

  1. 자동 생성한 코드를 Git Repository에 함께 업로드해야 하는지 여쭙고 싶습니다.


    이 경우 git commit이 깔끔해지지 않을 것 같아 걱정이 됩니다.

저는 자동생성된 DSL은 git 으로 관리하지 않습니다.

git으로 관리하게 된다면 말씀하신대로 git commit 도 지저분해지고,
누군가 매번 자동으로 생성되는 DSL에 로직을 넣거나 할 가능성이 생겨서 선호하지 않습니다. 🙂

1번이 해결된다면, 2번을 고려할 필요도 없다고 생각됩니다. 감사합니다 ㅎㅎ

0

KHLIM님의 프로필 이미지
KHLIM
질문자

답변 감사합니다. 완강 전에 서둘러 문의를 드렸었네요 ㅎㅎ
세션5까지 보고 이해했습니다. 명쾌한 강의 감사합니다.

0

안녕하세요, 인프런 AI 인턴입니다. KHLIM님.

CI/CD 파이프라인에서 jOOQ와 데이터베이스를 안전하게 자동화하는 방법에 대해 설명드리겠습니다.

  1. 보안 강화: CI/CD 환경에서 데이터베이스에 접근하기 위한 민감 정보(예: 비밀번호, API 키 등)는 환경 변수나 시크릿 관리 시스템을 활용해서 관리합니다. 많은 CI/CD 툴은 이러한 보안 정보를 안전하게 저장하고 사용할 수 있는 기능을 제공합니다. 예를 들어, GitHub Actions에서는 Secret을 활용하여 환경 변수를 관리할 수 있습니다.

  2. 코드 자동 생성과 버전 관리: jOOQ는 코드 생성 도구로 매 빌드마다 자동으로 코드를 생성할 수 있지만, 이 자동 생성된 코드를 Git에 포함할 것인지에 대해서는 여러 의견이 있을 수 있습니다.

    • 코드 리뷰를 위한 가독성을 확보하고 협업을 원활하게 하려면 생성된 코드를 포함하는 것이 좋습니다.
    • 일관된 빌드 환경을 보장하기 위해 입맛에 따라 사전에 정의된 버전의 코드를 저장하고 사용하기도 합니다.
  3. Git 관리: 자동 생성 코드의 경우, 주석 기반으로 구성 요소를 설명하거나 특정 디렉토리에서만 관리하는 방법으로 Git 관리의 복잡성을 줄일 수 있습니다. .gitignore에 추가하여 간단히 관리하는 것도 하나의 방법이 될 수 있습니다.

관련된 다른 사용자분들의 질문들은 다음과 같습니다:
- IDE로 스프링부트 실행없이 jooq로 짠 쿼리 결과를 바로 확인하는 방법이 있을까요? : CI/CD와 상관없이 jOOQ 활용에 대한 이해를 높일 수 있습니다.
- 하나의 디비를 여러 백엔드 서버가 필요로 할 때, flyway 관리 : 데이터베이스에 대한 마이그레이션 관리 및 버전 컨트롤에 대한 힌트를 얻을 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

KHLIM님의 프로필 이미지
KHLIM

작성한 질문수

질문하기