커밋하기 전에 멀티 플랫폼 빌드/테스트를 자동화하거나 용이하게하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/325743

문제

당사의 소프트웨어는 Linux 및 Windows 플랫폼을 기반으로합니다. 개발자의 선호도에 따라 어느 플랫폼에서도 기부금이 개발되고 테스트 된 다음 전력 저장소에 전념합니다. 그런 다음 기여는 다른 플랫폼에 기여하지 않으며 수정이 이루어져야합니다. 다른 플랫폼의 수정은 원래 플랫폼의 빌드를 다시 나눌 수 있습니다.

차라리 커밋되기 전에 다른 플랫폼에 기여 (및 회귀 테스트)가 구축되고 회귀 테스트 된 것을보고 싶습니다. 연속 빌드 서버 (cruisecontrol)가 있지만 해당 서버는 저장소에서 빌드됩니다. Continuous Build Server가 다른 플랫폼에서 사전 커밋 확인으로 빌드 한 다음 빌드 및 테스트가 성공하면 물건을 커밋하는 솔루션을 찾고 있습니다.

제안이 있습니까?

도움이 되었습니까?

해결책

Matheiu Godlewski는 좋은 제안을했습니다 Cruisecontrol Wiki

당신이 그의 제안을 The와 결합한다면 거부권 요소, 나는 당신이 설정해야한다고 생각합니다.

다른 팁

TeamCity는 사전 테스트 한 커밋을 처리하면 4.0의 새로운 빌드 체인 기능으로 무언가를 할 수 있습니다 ( http://www.jetbrains.com/teamcity/features/newfeatures.html ). 에이전트는 크로스 플랫폼이며 빌드의 특정 비트 만 실행하도록 구성 할 수 있으므로 테스트의 하위 집합 만 실행하도록 구성 할 수 있습니다.

나는 실제로 이것을하지 않았다는 점에 유의하십시오 :)

사람들이 체크인하는 곳과 다른 하나는 지속적인 통합을 통과 한 후 변경 사항을 병합하는 두 가지 지점을 갖는 것이 더 쉬울 수 있습니다.

우리는 여러 OSE (및 여러 OSE의 여러 데이터베이스 제품)에 원격으로 배포 할 수있는 사용자 정의 빌드 및 테스트 장비를 사용했습니다. 이것은 다음날 아침 버그를 고치는 규칙으로 야간 빌드로 이루어졌습니다.

그때 완전히 연속적이지는 않지만 사전 커밋 후크에서해야 할 일이 많습니다. 특히 소스 제어 저장소가 사전 커밋 후크 실행 기간 동안 영향을받는 파일을 잠그는 경우.

하루 종일 실행되는 지속적인 통합 테스트, 커미트 당 및 밤마다 실행되는 시스템 통합 테스트간에 차이가 있다고 생각합니다.

Douglas Leeder는 "통합"지점을 제안했습니다. 좋은 점은 자동화 할 수 있다는 것입니다. 테스트가 통과하는 경우 - '트렁크'로 병합됩니다.

일부 버전 제어 시스템 (예 : BZR/HG/GIT)은 다른 버전보다 쉽게이를 가능하지만 대부분 가능합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top