문제

이전에 일부 파일을 복사하고 EXEC 작업을 통해 Makensis.exe를 실행하여 설치 프로그램 EXE를 빌드하는 NANT 스크립트를 사용하여 이전에 구축 한 NSIS 설치 프로그램이 있습니다. Nant 스크립트가 완료된 후 CD의 Compelte 구조와 다운로드도 있습니다.

나는 단지 Sourcensafe에서 사용하지 않은 데스크탑으로 얻은 것을하고 빌드 박스로 사용하여 거기에서 컴파일했습니다. 때때로 우리는 중요한 것을 고치는 몇 개의 파일을 확인할 것입니다. 이 경우 빌드 상자로 이동하여 아직 해당 파일 만 얻을 수 없었습니다. 기본적으로 개발이 변경된 특정 파일을 설치 프로그램에 계속 포함하고 선택적으로 포함시킬 수 있습니다.

이제 더 이상 무료 상자가 없으며 서버에서 빌드해야합니다. 따라서 개발자가 서버로 원격으로 구축하지 않고 빌드를 시작할 수 있도록 CI Factory를 설정하고 있습니다. 내가 어려움을 겪고있는 한 가지 문제는이 선택적 변화 제어가 계속되도록하는 가장 좋은 방법입니다. CI 공장이 구현하는 CI의 기본 개념은 내부 개발 "헤드"에 적합합니다. 그러나이 "공개 릴리스"유형의 빌드 유형에 대한 힘 빌드를 통해서만 요구되는 CCNET 프로젝트를 설정하고 싶습니다.

이것이 내가 지금까지 뇌가 습격했던 것입니다. (CCNET과 CI Factory가 무엇인지 여전히 알아 내면) "공개 릴리스"CCNET 프로젝트 구성/빌드는 다음과 같이 설정됩니다. ~ 아니다 최신 정보를 얻으십시오. 수정 ~ 아니다 빌드를 트리거하십시오. 변경 사항이 감지 될 때 최신 정보를 얻는 기본 CI 방법론 ( "CI 프로젝트")을 사용하는 다른 CCNET 프로젝트는이 두 프로젝트에서 동일한 작업 디렉토리를 공유 할 수 없습니다. 따라서 "공개 릴리스"에는 CI 프로젝트 빌드가 트리거 될 때 파일이 업데이트되지 않도록 다른 작업 사본이 필요합니다. 개발자는 서버로 원격으로, 하나의 VSS를 사용하고 선택적으로 "공개 릴리스"의 작업 사본에 들어가고 CI 공장을 통해 빌드를 강요해야합니다.

내가 이것과 함께 보는 단점은
1) 선택적으로 선택하기 위해 리모컨이 있어야합니다.
2) 단일 CI 공장 프로젝트에 제품 폴더의 두 개의 다른 작업 사본을 갖도록 허용하는 방법을 모르겠습니다. 따라서 각 프로젝트 구성 블록에는 자체가 있습니다.
3) 나는 이것이 어떤 종류의 이상하게 일할 수 있는지 두려워합니다. CCNET 프로젝트 구성 블록에서 소스 제어 블록을 지정하는 방법은 아직 확실하지 않지만 빌드시 최신 정보를 얻지 못하게합니다. 나는 여전히 스크립트에 무엇이 있는지 점차적으로 알아 내고 있으며, 다른 것들을 깨지 않고 쉽게 꺼낼 수 있으며, 주변에 뭉개지거나 구성 할 수없는 것과 비교할 수 있습니다.

비슷한 상황이있는 경우 다른 사람들 이이 문제를 선택적으로 출시하는이 문제를 어떻게 처리하는지에 대해 듣고 싶습니다. 나는 VSS에 제한되어 있으므로 즉각적인 요구는이를 염두에두고 해결해야하지만 동시에 다른 소스 제어 시스템으로이를 관리하는 방법을 듣는 데 관심이 있습니다. 아마도 당신은 아마도 당신의 최신 개발 지점 인 지점을 가지고있을 것이라고 생각한 다음, 당신이 그것을 풀고 싶을 때마다 트렁크를 트렁크로 병합 할 것입니까? 나는 분기/병합에 대한 대 VSS를 신뢰하지 않으며, 분기 개념 이이 상점의 오버 헤드와 학습 곡선 일 수 있다고 생각합니다. 내가 말했듯이, 다른 소스 제어 시스템과의 이야기는 나에게 유용한 미래 지식이 될 것입니다.

미리 감사드립니다.

도움이 되었습니까?

해결책

이를 용이하게하려면 저장소에 분기 구조가 필요합니다. 릴리스 브랜치 방법과 같은 것. 선택된 개인만이 지점에 최선을 다할 수 있습니다 (또는 그에 대한 릴리스/안정이 있습니다). 매뉴얼 CI 런칭을 설정하여 릴리스 브랜치에서 나이트 홍보로 마일스톤 또는 최종 결승으로 홍보하십시오. 빌드 머신에서 물건을 수동으로 수정한다는 아이디어가 마음에 들지 않습니다. 릴리스를 준비하고 CI를 빌드 할 수있는 안전한 장소에서 버전 제어의 변경 사항을 설정하지만 수동으로 트리거됩니다.

이것들을 확인하십시오 분기 패턴. 나는 C3, 코드 라인 당 발표 당시 릴리스 분기라고 불리는 것을 제안했다.

그녀는 기사 병합 링크가 포함 된 VSS 분기에서.

이것 의문 비슷해 보입니다.

어쩌면 이런 종류의 지원을 더 잘 지원하여 다른 소스 제어 시스템으로 이동할 수 있습니다. MS 사람들의 제안이 있습니까?

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