1

테스트 서버 및 프로덕션에 대한 배포를 자동화하려고합니다.프로덕션 배포를위한 롤백

저는 ci-server (빌드, 컴파일, junit) 및 아티펙트 저장소 관리자 (배포/게시 할 빌드 저장)가 있습니다.

현재 저는 (ci-server와 함께 실행되는) 테스트 서버에 스크립트를 배포 할 수 있습니다. 현재 롤백, db- 백업 또는 db- 업데이트가 없습니다. 모든 서버에는 Suse (linux)가 있습니다.

롤백 기능과 함께 배포하는 더 좋은 방법이 있는지 알고 싶습니까? 어쩌면 다른 프리웨어 도구일까요? 그렇지 않으면 단지 일부 노트가 롤백을 할 수 있어야하고 생산을 엉망으로 만들지 않기 위해 무엇을해야하는지 알아내는 것이 도움이 될 것입니다.

답변

6

관계형 데이터베이스가 포함 된 응용 프로그램 롤백은 매우 까다 롭습니다. 일반적으로이 작업은 업그레이드 전에 수행 된 백업에서 복원하여 수행됩니다.

과 같은 데이터베이스 마이그레이션 도구를 응용 프로그램의 설치 절차에 통합하는 것이 가장 현대적인 방법입니다. liquibase은 업그레이드와 롤백 모두를위한 스크립트를 생성 할 수 있도록 데이터베이스 스키마에 대한 각 변경 사항을 추적합니다.

+0

배치 계획을 세우자 나는 liquibase도 발견했습니다. 이제는 동료가 이미 백업 및 롤백을위한 스크립트를 가지고 있으므로, 필자는 그 도구를 사용할지 아니면 앞으로 더 많이 사용할 것인지 궁금합니다. 현재 장단점에 대해 설명하지 않습니다. – user1338413

+0

@ user1338413 개인적으로 나는 두 접근법을 모두 지원할 것입니다. 백업에서 복원하면 (올바르게 완료 되었다면) 알려진 시점으로 되돌아갑니다. 문제는 데이터 손실, 백업과 롤백 사이의 시간입니다. 스키마 변경 사항을 롤백하는 추가 기능 (데이터를 그대로 유지)은 매우 유용합니다. 마지막으로 liquibase와 같은 도구는 dev 및 테스트 시스템 구축을 위해 매우 중요합니다. –

+0

"liquibase와 같은 도구는 개발 및 테스트 시스템 구축에 매우 중요합니다". 그리고 프로덕션 서버에 대해서? 아니면 envs 사이에 어떤 차이가 있습니까? – user1338413

관련 문제