우리는 UI 팀이 동일한 팀에 의해 개발되지만 서비스 계층 (REST / Java)과 다른 언어 (Python / Django)로 개발 될 프로젝트가 있습니다. 각 계층의 코드는 다른 코드 리포지토리에서 종료되며 다른 릴리스주기를 따를 수 있습니다 . UI 계층의 관점에서 서비스 계층의 주요 변경 사항을 방지 / 감소시키는 프로세스를 고안하려고합니다.
UI 또는 서비스 계층을 작성할 때마다 실행되는 통합 테스트를 UI 계층 수준에서 작성하려고 생각했습니다 (Jenkins를 CI 도구로 사용하여 두 개의 Git 저장소에 코드를 작성합니다). 서비스 계층에 장애가 발생하여 커밋이 허용되지 않습니다.
서비스 계층의 개발자가 UI 계층에 존재하는 REST 서비스에 대한 클라이언트 라이브러리를 작성하고 유지하도록하는 것이 좋은 아이디어입니까? 그들의 서비스 API? 아마도 UI 코드가 작성하는 정적 유형 API의 이점이있을 것입니다. 클라이언트 라이브러리 API가 변경되면 UI 코드가 컴파일되지 않습니다 (따라서 주요 변경 사항이 있음을 곧 알게 될 것입니다). 또한 UI와 서비스 계층을 구축 할 때 여전히 통합 테스트를 실행하여 UI와 서비스 간의 통합이 여전히 작동하는지 확인합니다.