2

저는 DevOps에 익숙하지 않습니다. CI (Continuous Integration) 프로젝트를 구성하려고 할 때 아직 솔루션을 찾을 수없는 문제에 직면하고 있습니다. DB의 최신 버전에 젠킨스뿐만 아니라 개발자가 액세스 할 수 있도록 가지고있는 설정에서 데이터베이스 파일을 관리하는 가장 좋은 방법이 무엇인지 알고 싶습니다.Jenkins와의 지속적인 통합을 통해 데이터베이스를 관리하는 방법

비슷한 질문은 아래의 스레드와 같이 다양한 스레드에서 처리되었습니다. 그러나 아무도 내 상황과 관련된 질문에 대답하지 못했습니다.

설정 여기

내 설치는 모습입니다 같은 :

,363,210
  • 언어 : 파이썬 3.5 (unittests 등 포함)
  • 데이터베이스 : MySQL의 - 하루 (안 스키마)
  • 버전 제어 한 번 데이터 업데이트 : 힘내
  • 코드 호스팅 :의 Bitbucket
  • 개발 OS : 윈도우 10
  • CI 기계 : 젠킨스 내가 원산지/마스터를 업데이트 할 때마다, 젠킨스가 실행되는 등의 CI를 설정 한

: 리눅스 (우분투 16.04.1)

  • CI 도구를 실행 아마존 AWS EC2 AWS 기계에 대한 테스트.

    편집 내 데이터베이스가 무엇인지 명확히하기 위해 일종의 일일 판매량 또는 일일 시장 업데이트라고 가정합니다. 하루에 한 번씩 데이터베이스를 업데이트하는 코드와 데이터 분석을 수행하는 프로그램이 있습니다.

    문제

    나는 데이터베이스의 버전 관리에 대해 우려하지 않다. 다른 말로하면, 나는 이틀 전에 나의 DB가 무엇인지 신경 쓰지 않는다. 그러나 데이터베이스가 매일 업데이트되므로 Jenkins뿐 아니라 다른 개발자 시스템에서도 테스트가 실행될 때마다 최신 정보에 액세스해야합니다. 지금까지 읽은 것부터, Git 저장소에 데이터베이스를 포함시키는 것은 좋지 않습니다. 변경 사항을 추적하는 데 신경 쓰지 않기 때문에 그렇게하지 않을 것입니다. 그래서 문제는 어떻게 데이터베이스를 저장하고 프로젝트에 통합해야합니까?

    일부는 Dropbox 또는 다른 도구를 사용하여 어디서나 DB에 액세스 할 것을 제안했습니다. 이것이 최선의 접근 방법입니까? 그렇다면 Dropbox에 정확히 무엇을 보관해야합니까? 실제 데이터베이스 (* .db) 파일 및 폴더?MySQL에서 이러한 것들은 MySQL의/data/폴더에 중앙 집중식으로 저장되어 있으며 Dropbox 같은 다른 폴더에 저장하는 방법을 모릅니다.

    다른 사람은 DB 덤프를 유지할 것을 제안했습니다. 그 과정은 무엇이되어야 하는가? 데이터베이스의 일일 변경 후 덤프를 생성하고 .txt 덤프 파일을 Dropbox에 보관 하시겠습니까? Jenkins는 매번이 덤프 파일에서 DB를 어떻게 다시 작성합니까?

  • +0

    어딘가에 프로덕션/마스터/라이브 데이터베이스가 있다는 것을 잘 알고 있으며 개발 데이터베이스 서버에 매일 데이터를 업데이트하도록 하시겠습니까? –

    +0

    대답은 '예'라고 생각합니다. 귀하의 질문에 대답하기 위해 편집 : 내 DB를 일일 매출 수치 또는 일일 시장 업데이트 일 수 있습니다. 하루에 한 번씩 데이터베이스를 업데이트하는 코드와 데이터 분석을 수행하는 프로그램이 있습니다. – hANI

    +0

    나는 아직도 그 질문을 이해하지 못한다. 데이터가있는 데이터베이스 서버가 있다면 무엇이 더 필요합니까? (필자는 비슷한 유스 케이스를 얻지 못했을 것입니다. :) –

    답변

    0

    나는 실제 데이터를 이동시키지 않을 것이다. 가능한 경우 그리고 보안 요구 사항을 충족하는 한 개발 또는 테스트를 수행하는 곳에서 MySQL 서버에 대한 연결을 액세스 할 수있게 한 다음 해당 서버를 가리 키도록 연결 문자열을 수정하면됩니다.

    +0

    아직 실제 데이터베이스를 어디에 보관하고 있는지 확실하지 않습니다. 다른 저장소 또는 안전한 호스팅에서 젠킨스를 포함한 모든 사용자에게 액세스 권한을 부여 하시겠습니까? – hANI

    +0

    당신에게 가장 적합한 것이 무엇인지 말하기는 어렵습니다. 아마도 보안 VM/머신에서 자체적으로 호스팅하고 Jenkins 서버와 개발 시스템에 액세스 할 수있게 할 것입니다. –

    +0

    이제 제한 사항에 대한 위의 의견을 읽은 후 (평판이 필요하지 않기 때문에 의견을 말할 수 없으며 5 분 후에 내 의견을 수정할 수 없습니까?) 두산, 젠킨스 CI 기계에 넣으십시오. –

    관련 문제