다음을 통해 공유


솔루션 파일을 사용하여 소스 제어

Solution Packager 도구는 모든 원본 제어 시스템에 사용할 수 있습니다. 솔루션 .zip 파일을 폴더로 추출한 후 파일을 추가하고 원본 제어 시스템에 제출합니다. 그런 다음 이러한 파일은 동일한 새 솔루션 .zip 파일로 압축될 수 있는 다른 컴퓨터에서 동기화될 수 있습니다.

압축을 푼 구성 요소 파일을 원본 제어에서 사용할 때 중요한 점은 모든 파일을 원본 제어에 추가하면 불필요한 중복이 발생할 수 있다는 점입니다. 솔루션 구성 요소 파일 참조로 이동하여 각 구성 요소 유형에 대해 생성되는 파일과 원본 제어에 사용하기에 권장되는 파일을 확인하세요.

솔루션에 추가 사용자 지정 및 변경 내용이 필요하므로 개발자는 기존 수단을 통해 구성 요소를 편집하거나 만들고, .zip 파일을 만들기 위해 다시 내보내고, 동일한 폴더에서 압축된 솔루션 파일의 압축을 풀어야 합니다.

중요

사용자 지정 파일 편집 시기에 설명된 섹션을 제외하고 추출된 구성 요소 파일 및 .zip 파일의 수동 편집은 지원되지 않습니다.

Solution Packager 도구에서 구성 요소 파일의 압축을 풀 때 파일 내용이 동일한 경우 같은 이름의 기존 구성 요소 파일을 덮어쓰지 않습니다. 또한 도구는 특정 파일이 작성되지 않은 콘솔 창에서 경고를 생성하는 구성 요소 파일에서 읽기 전용 특성을 따릅니다. 이 보호를 통해 사용자는 원본 제어에서 변경되는 최소한의 파일 집합을 체크 아웃할 수 있습니다. /clobber 매개 변수는 읽기 전용 파일을 다시 정의하고 작성하거나 삭제하는 데 사용할 수 있습니다. /allowWrite 매개 변수는 실제로 파일을 작성하거나 삭제하지 않고 추출 작업이 미치는 영향을 평가하기 위해 사용할 수 있습니다. 자세한 로깅으로 /allowWrite 매개 변수를 사용하는 것은 효과적입니다.

원본 제어에서 최소한의 파일 집합을 체크 아웃하여 추출 작업을 완료한 후 개발자는 원본 파일의 모든 다른 유형과 마찬가지로 변경된 파일을 원본 제어에 다시 전송할 수 있습니다.

팀 개발

여러 개발자가 동일한 솔루션 구성 요소에서 작업하는 경우 두 개발자의 변경 내용이 한 파일에서 변경될 경우 충돌이 발생할 수 있습니다. 이 문제는 개별적으로 편집할 수 있는 각 구성 요소 또는 하위 구성 요소를 다른 파일로 분해하여 최소화합니다. 다음 예를 살펴 보십시오.

  1. 개발자 A와 B가 동일한 솔루션에서 작업하고 있습니다.

  2. 독립적인 컴퓨터에서 두 사람 모두 원본 제어에서 솔루션의 최신 원본을 가져와서, 압축하고, 비관리형 솔루션 .zip 파일을 독립적인 Microsoft Dataverse 조직으로 가져옵니다.

  3. 개발자 A는 "활성 연락처" 시스템 보기 및 연락처 엔터티의 기본 양식을 사용자 지정합니다.

  4. 개발자 B는 거래처 엔터티의 기본 양식을 사용자 지정하고 "연락처 조회 보기"를 변경합니다.

  5. 두 개발자 모두 비관리형 솔루션 .zip 파일을 내보내고 추출합니다.

    1. 개발자 A는 연락처 기본 양식에 대한 파일 하나와 "활성 연락처" 보기에 대한 파일 하나를 체크 아웃해야 합니다.

    2. 개발자 B는 거래처 기본 양식에 대한 파일 하나와 "연락처 조회 보기"에 대한 파일 하나를 체크 아웃해야 합니다.

  6. 각자의 변경 내용이 별도 파일에 적용되었으므로 두 개발자 모두 순서에 상관 없이 제출할 수 있습니다.

  7. 양쪽 모두 제출을 완료한 후 2단계를 반복하고 독립적인 조직에서 계속 추가 변경할 수 있습니다. 각자 자신의 작업을 덮어쓰지 않고 양쪽 변경 내용 모두 갖습니다.

앞의 예제는 별도 파일에 대한 변경 내용이 있는 경우에만 작동합니다. 독립적인 사용자 지정은 한 파일 내에서 변경할 수 밖에 없습니다. 이전 예제를 기반으로 개발자 B가 "활성 연락처" 보기를 사용자 지정하는 동안 개발자 A도 "활성 연락처" 보기를 사용자 지정한 경우를 고려해 봅니다. 이 새 예제에서는 이벤트의 순서가 중요합니다. 이러한 문제를 해결하는 올바른 절차가 여기에 자세히 설명되어 있습니다.

  1. 개발자 A와 B가 동일한 솔루션에서 작업하고 있습니다.

  2. 독립적인 컴퓨터에서 두 사람 모두 원본 제어에서 솔루션의 최신 원본을 가져와서, 압축하고, 비관리형 솔루션 .zip 파일을 독립적인 조직으로 가져옵니다.

  3. 개발자 A는 "활성 연락처" 시스템 보기 및 연락처 테이블의 기본 양식을 사용자 지정합니다.

  4. 개발자 B는 거래처 테이블의 기본 양식을 사용자 지정하고 "활성 연락처"를 변경합니다.

  5. 두 개발자 모두 비관리형 솔루션 .zip 파일을 내보내고 추출합니다.

    1. 개발자 A는 연락처 기본 양식에 대한 파일 하나와 "활성 연락처" 보기에 대한 파일 하나를 체크 아웃해야 합니다.

    2. 개발자 B는 거래처 기본 양식에 대한 파일 하나와 "활성 연락처" 보기에 대한 파일 하나를 체크 아웃해야 합니다.

  6. 개발자 A가 먼저 준비되었습니다.

    1. 개발자 A가 원본 제어에 제출하기 전에 이전 체크인이 변경 사항과 충돌하지 않도록 최신 원본을 가져와야 합니다.

    2. 충돌이 없으므로 개발자 A가 제출할 수 있습니다.

  7. 개발자 B는 개발자 A 다음에 준비됩니다.

    1. 개발자 B가 제출하기 전에 이전 체크인이 변경 사항과 충돌하지 않도록 최신 원본을 가져와야 합니다.

    2. 개발자 B가 최신 원본을 마지막으로 검색한 이후 "활성 연락처"에 대한 파일이 수정되었기 때문에 충돌이 발생했습니다.

    3. 개발자 B는 충돌을 조정해야 합니다. 사용 중인 원본 제어 시스템의 기능은 이 프로세스를 도울 수 있습니다. 그렇지 않으면 다음 옵션이 모두 실행 가능합니다.

      1. 개발자 B는 원본 제어 기록(사용 가능한 경우)을 통해 개발자 A가 이전에 변경했음을 관찰할 수 있습니다. 직접적인 의사 소통을 통해 변경될 때마다 논의할 수 있습니다. 그런 다음 개발자 B는 합의한 내용 대로 조직을 업데이트하기만 하면 됩니다. 그런 다음 개발자 B는 충돌 파일을 내보내고, 추출하고, 덮어쓰고 제출합니다.

      2. 원본 제어에서 로컬 파일을 덮어쓸 수 있도록 합니다. 개발자 B는 솔루션을 압축하고 조직으로 가져온 후 보기의 상태를 평가하고 필요에 따라 다시 사용자 지정합니다. 그런 다음 개발자 B는 충돌하는 파일을 내보내고, 추출하고, 덮어쓸 수 있습니다.

      3. 이전 변경이 불필요하다고 판단되면 개발자 B는 파일 복사본이 원본 제어의 버전을 덮어쓸 수 있도록 허용하고 제출합니다.

공유 환경 또는 독립적인 환경에서 작업할 때 Dataverse 솔루션의 팀 개발에는 서로의 작업을 인식하도록 공통 솔루션에서 적극적으로 작업해야 합니다. Solution Packager 도구가 이러한 요구를 완벽하게 제거하지는 않지만 원본 제어 수준에서의 충돌하지 않는 변경 내용을 간단하게 병합할 수 있도록 하고 충돌이 발생한 구성 요소를 간단하게 사전에 강조 표시합니다.

다음 섹션은 팀에서 개발할 때 원본 제어에서 Solution Packager 도구를 효과적으로 사용하는 일반적인 프로세스입니다. 이러한 과정은 공유 환경에서 내보내기를 수행하는 개발자의 변경 내용만 아니라 내보내기와 추출 시 자연스럽게 현재 솔루션 내의 모든 변경 내용을 포함하지만 독립적인 환경 또는 공유 개발 환경에서 동일하게 작동합니다. 마찬가지로 솔루션 .zip 파일을 가져올 때 모든 구성 요소를 덮어쓰는 기본 동작이 발생합니다.

솔루션 만들기

이 절차에서는 솔루션을 처음 만들 때 사용되는 일반적인 단계를 식별합니다.

  1. Dataverse가 있는 깨끗한 환경에서 솔루션을 만든 다음 필요에 따라 구성 요소를 추가하거나 만듭니다.

  2. 체크 인할 준비가 되면 다음 단계를 수행합니다.

    1. 비관리형 솔루션을 내보냅니다.

    2. Solution Packager 도구를 사용하여 솔루션을 구성 요소 파일에 추출합니다.

    3. 이렇게 추출한 구성 요소 파일에서 필요한 파일을 원본 제어에 추가합니다.

    4. 이러한 변경 내용을 원본 제어에 제출합니다.

솔루션 수정

다음 절차는 기존 솔루션을 수정할 때 사용하는 일반적인 단계를 확인합니다.

  1. 동기화하거나 최신 솔루션 구성 요소 파일 원본을 가져옵니다.

  2. Solution Packager 도구를 사용하여 구성 요소 파일을 비관리형 솔루션 .zip 파일에 압축합니다.

  3. 환경에 비관리형 솔루션 파일을 가져옵니다.

  4. 솔루션을 사용자 지정하고 필요에 따라 편집합니다.

  5. 변경 내용을 원본 제어에 체크 인할 준비가 되면 다음 단계를 수행합니다.

    1. 비관리형 솔루션을 내보냅니다.

    2. Solution Packager 도구를 사용하여 내보낸 솔루션을 구성 요소 파일에 추출합니다.

    3. 동기화하거나 원본 제어에서 최신 원본을 가져옵니다.

    4. 충돌이 있을 경우 조정합니다.

    5. 변경 내용을 원본 제어에 제출합니다.

    2단계와 3단계는 개발 조직에서 추가 사용자 지정이 발생하기 전에 수행해야 합니다. 5 단계에서 b단계는 c단계 전에 완료해야 합니다.

참조

솔루션 구성 요소 파일 참조(SolutionPackager)
SolutionPackager 도구