Dataverse Git 통합 개요(프리뷰)
[이 문서는 시험판 문서이며 변경될 수 있습니다.]
소스 제어 통합을 통해 개발 팀은 Azure DevOps Git 리포지토리를 사용하여 하나 이상의 Microsoft Dataverse 환경에서 솔루션 및 솔루션 개체를 동기화할 수 있습니다. 소스 제어 통합 기능은 솔루션 환경 내에서 기본적으로 사용할 수 있으므로 시민 개발자, 코드 우선 개발자 및 관리자가 버전 제어, 변경 내용 추적 및 다양한 도구 및 환경에서 원활한 팀 공동 작업의 이점을 누릴 수 있습니다. Git 통합은 개발자 환경에서 사용하기 위한 것이며, 빌드를 사용하여 배포할 솔루션 아티팩트 및 파이프라인을 만들 수 있는 테스트 또는 프로덕션 환경에서는 사용할 수 없습니다.
중요
- 이는 프리뷰 기능입니다.
- 프리뷰 기능은 생산용으로 만들어진 것이 아니므로 기능이 제한될 수 있습니다. 이런 기능은 공식 릴리스 전에 사용할 수 있으므로 고객이 조기에 액세스하고 피드백을 제공할 수 있습니다.
이 문서에서는 Dataverse 환경 및 솔루션에서 Git 지원 소스 제어를 사용하기 위한 몇 가지 주요 개념과 이점을 찾습니다. Azure DevOps의 Git에 대한 자세한 내용은 Azure DevOps Git 리포지토리를 참조하세요.
Power Platform 및 Dataverse의 ALM
Power Platform은 조직에서 솔루션에 대한 ALM(애플리케이션 수명 주기 관리)을 관리할 수 있도록 하는 다양한 기본 기능을 제공합니다. 플랫폼의 다양한 유형의 구성 요소에 대한 컨테이너로 솔루션을 패키징하고, 애플리케이션 수명 주기에 관련된 환경을 관리하고, Power Platform의 파이프라인을 사용하여 솔루션을 배포하는 기능이 포함됩니다. 개발자 도구를 사용하여 Git 리포지토리를 Power Platform과 통합하는 방법에는 여러 가지가 있습니다. Dataverse에 Git이 기본적으로 통합됨에 따라 제작자가 익숙한 방식으로 솔루션을 사용하고 Power Apps(make.powerapps.com)의 간소화된 인터페이스를 통해 소스 제어와 상호 작용할 수 있도록 프로세스가 간소화되고 간소화됩니다.
혜택
- 신뢰할 수 있는 소스로서의 소스 제어: 일부 조직 내에서 Dataverse의 배포에 대한 신뢰할 수 있는 소스는 솔루션이 구축되는 제작자 환경입니다. 이 동작의 주요 동인은 네이티브가 아닌 Git 통합이 고급 기술과 도구를 사용한다는 것이며, 시작하려면 전문 IT 전문 지식이 필요합니다. Dataverse에 Git이 기본적으로 통합됨에 따라 몇 단계만 거치면 소스 제어를 활성화할 수 있으며 제작자가 솔루션으로 작업할 수 있는 친숙한 인터페이스를 제공합니다.
- SDLC 모범 사례를 사용한 안전, 감사 및 규정 준수: 소프트웨어 개발 수명 주기(SDLC) 모범 사례는 소프트웨어 개발 프로젝트를 효과적으로 관리하는 데 도움이 되는 일련의 지침 및 프로세스입니다. Dataverse에 Git 통합을 사용하면 버전 제어, 코드 검토 및 정적 소스 코드 분석과 같은 SDLC 관행을 따라 솔루션의 품질, 안정성 및 보안을 보장할 수 있습니다. Dataverse에 Git 통합은 솔루션의 변경 사항을 추적하고 다른 팀 구성원과 효과적으로 협업하는 데 도움이 되는 감사, 규정 준수 및 추적 가능성과 같은 기능도 제공합니다.
- 수명이 짧은 개발 환경: 환경의 사용자 지정 및 구성 복사본을 소스 제어에 저장하면 Dataverse에서 소스 제어에서 개발 환경을 빠르고 쉽게 리하이드레이션할 수 있습니다. 이를 통해 개발 및 테스트 목적으로 수명이 짧은 환경을 만들 수 있습니다. 수명이 짧은 환경을 사용하면 영구적인 환경에 의존하지 않고도 스토리지를 확보하고, 새로운 기능을 실험하고, 솔루션을 테스트하고, 반복할 수 있습니다.
- 퓨전 개발 팀: 퓨전 개발 팀은 솔루션을 구축하기 위해 협력하는 개발자와 제작자로 구성된 팀입니다. Dataverse에 Git 통합은 이러한 사용자는 별도의 환경에서 독립적으로 빌드하고 공통 소스 제어 리포지토리와 동기화하여 다른 사용자와 협업할 수 있습니다. 소스 제어 통합을 통해 개발자와 제작자 모두의 기술과 전문 지식을 사용하여 조직의 요구 사항을 충족하는 고품질 솔루션을 구축할 수 있습니다.
- 보호: 소스 제어를 솔루션에 대한 신뢰할 수 있는 소스로 사용하면 솔루션의 의도하지 않은 변경으로부터 빠르고 쉽게 복구할 수 있습니다. 솔루션을 소스 제어에 저장하면 이전 상태 또는 버전으로 복원할 수 있습니다.
주요 개념
관리형 솔루션 및 비관리형 솔루션
Dataverse와 Git 통합을 사용하는 경우 소스 제어에 저장된 솔루션은 제작자 환경의 비관리형 솔루션에서 가져옵니다. 비관리형 솔루션을 사용하면 제작자가 변경 내용을 커밋하고 푸시할 때 소스 제어와 동기화되는 구성 요소를 추가, 제거 및 업데이트할 수 있습니다. 관리형 솔루션은 소스 제어에서 구축되어 테스트 또는 프로덕션과 같은 다운스트림 환경에 배포되며 이러한 환경에서는 편집할 수 없습니다. 관리형 솔루션은 솔루션에 대한 신뢰할 수 있는 소스가 항상 소스 제어이고 변경 사항이 소스 제어에 추가되고 다른 곳에 배포되기 전에 제작자의 환경에서만 이루어지도록 하는 데 사용됩니다.
솔루션 구성 요소의 파일 형식 지정
Dataverse에 Git 통합이 도입됨에 따라 솔루션 및 솔루션 구성 요소가 소스 제어에서 표시되는 방식이 변경되었습니다. 변경 내용을 소스 제어에 커밋하고 푸시하면 솔루션 구성 요소가 Git과 호환되는 특정 형식으로 저장됩니다. 이 형식은 읽고 이해하기 쉬운 방식으로 솔루션 구성 요소를 나타내는 데 사용되며 시간 경과에 따른 솔루션 구성 요소의 변경 내용을 추적하는 데 사용할 수 있습니다. 솔루션 구성 요소의 파일 형식은 사람이 읽을 수 있도록 설계되었으며 소스 제어에서 솔루션 구성 요소의 변경 내용을 보는 데 사용할 수 있습니다. 또한 여러 솔루션을 동일한 리포지토리 및 폴더에 저장할 수 있도록 소스 제어의 솔루션 구성 요소가 더 이상 각 솔루션에 대해 중복되지 않습니다. 대신 솔루션 구성 요소는 단일 위치에 저장되며 동일한 리포지토리 및 폴더의 여러 솔루션에서 공유할 수 있습니다.
Git을 사용한 코드 우선 개발
Power Platform의 코드 우선 개발은 Power Platform CLI, Visual Studio 및 Visual Studio Code 확장과 같은 개발 도구를 사용하여 사용할 수 있습니다. Power Apps component framework 컨트롤 및 Dataverse 플러그인과 같은 구성 요소가 소스 코드에서 빌드되고 Power Apps(make.powerapps.com)에서 직접 편집할 수 없는 패키지된 자산으로 솔루션에 배포되기 때문에 소스 제어 통합 없이는 솔루션 개발 프로세스에 코드 우선 개발자를 참여시키기 어렵습니다. 로우코드 및 코드 우선 구성 요소 모두에 대한 개발 프로세스의 일부로 소스 제어가 없으면 솔루션에 대한 변경 내용을 관리하고 변경 내용이 제어된 방식으로 추적 및 배포되도록 하기 어렵습니다.
Dataverse에 Git 통합을 활성화하면 작업하는 코드 우선 개발자를 만나고 로우코드 개발자와 코드 우선 개발자 모두에게 원활한 경험을 제공할 수 있습니다. 그러나 로우코드 환경에서 코드 우선 구성 요소를 관리할 때 유의해야 할 몇 가지 고려 사항이 있습니다.
Dataverse Git 통합을 통한 융합 개발
Power Platform은 로우코드 및 코드 우선 개발을 위한 기능을 제공합니다. 이 문서에서는 Dataverse와 Git 통합과 관련된 코드 우선 개발 프로세스에 대해 설명하고 단일 환경에서 코드 우선 및 로우코드 구성 요소를 관리하는 방법에 대한 지침을 제공합니다. Power Apps component framework 컨트롤, Dataverse 플러그 인 및 사용자 지정 워크플로 활동과 같은 구성 요소는 소스 제어에서 관리할 수 있는 코드 우선 구성 요소의 예입니다.
단일 환경의 코드 우선 및 로우코드 구성 요소
코드 우선 구성 요소는 Dataverse 환경으로 가져올 수 있는 관리형 또는 비관리형 솔루션을 생성하는 빌드 프로세스를 통해 솔루션에 포함될 수 있습니다. 그러나 코드 우선 구성 요소는 솔루션 빌드 프로세스를 사용하여 배포하지 않고 빌드된 후 제작자 환경에서 관리되지 않는 솔루션에 직접 배포할 수도 있습니다. 이러한 유연성을 감안할 때 고려해야 할 빌드 프로세스가 있습니다.
제작자 환경에서 비관리형 솔루션에 코드 우선 구성 요소를 직접 배포하는 경우 해당 구성 요소가 소스 제어에 커밋되면 컴파일된(빌드된) 버전만 소스 제어에 저장됩니다. 예를 들어 플러그 인인 경우 이진 DLL 또는 Power Apps component framework 컨트롤에 대한 트랜스파일 및 최적화된 번들 JavaScript입니다. 결과적으로 소스 제어에 두 개의 구성 요소 복사본이 생성되는데, 하나는 빌드된 버전으로 표시되고 다른 하나는 소스 코드로 표시됩니다. 리포지토리에 이진 파일을 저장하면 소스 코드와 빌드된 버전이 동기화되지 않는 경우 혼동과 잠재적인 충돌이 발생할 수 있습니다. 소스 코드는 구성 요소에 대한 단일 정보 소스여야 하고 단일 복사본만 저장해야 하므로 이 방법은 권장되지 않습니다.
권장되는 방법은 솔루션 빌드 프로세스의 일부로 코드 우선 구성 요소를 빌드하고 생성된 비관리형 솔루션을 제작자 환경으로 가져오는 것입니다. 이 접근 방식은 소스 코드와 빌드된 버전이 동기화된 상태로 유지되고 소스 코드가 구성 요소에 대한 단일 정보 소스가 되도록 합니다. 그러나 이 방법을 사용하려면 가져오기 프로세스 및 배포 프로세스에서 사용할 관리형 또는 비관리형 솔루션을 생성하기 위한 빌드 프로세스가 있어야 합니다. 예를 들어 Power Platform의 파이프라인에 대한 아티팩트를 만들고 Git 동기화 프로세스에서 사용할 아티팩트를 만드는 Azure Pipelines 또는 GitHub 워크플로를 만들 수 있습니다.