솔루션 개념
솔루션은 Power Apps and에서 애플리케이션 수명주기 관리(ALM)를 구현하기 위한 메커니즘입니다 Power Automate. 이 문서에서는 다음과 같은 주요 솔루션 개념에 대해 설명합니다.
- 두 가지 솔루션 유형
- 솔루션 구성 요소
- 솔루션의 수명주기
- 솔루션 게시자
- 솔루션 및 솔루션 구성 요소 종속성
관리형 솔루션 및 비관리형 솔루션
솔루션은 관리형이거나 비관리형입니다.
비관리형 솔루션이 개발됩니다. 비관리형 솔루션은 애플리케이션을 수정하는 동안 개발 환경에서 사용됩니다. 비관리형 솔루션은 비관리형 또는 관리형으로 내보낼 수 있습니다. 내보낸 비관리형 솔루션 버전은 소스 제어 시스템에 체크인해야 합니다. 비관리형 솔루션은 Microsoft Power Platform 자산을 위한 소스로 간주되어야 합니다. 관리되지 않는 솔루션이 삭제되면 해당 솔루션에 포함된 사용자 지정 항목의 솔루션 컨테이너만 삭제됩니다. 모든 비관리 사용자 지정은 계속 적용되며 기본 솔루션에 속합니다.
관리형 솔루션이 개발됩니다. 관리형 솔루션은 해당 솔루션의 개발 환경이 아닌 모든 환경에 배포됩니다. 여기에는 테스트, UAT, SIT 및 프로덕션 환경이 포함됩니다. 관리형 솔루션은 환경 내 다른 관리형 솔루션으로부터 독립적으로 서비스할 수 있습니다. ALM 모범 사례로서 비관리형 솔루션을 관리되고 빌드 아티팩트로 간주되도록 내보내 관리형 솔루션을 생성해야 합니다. 또한:
- 관리형 솔루션 내에서 구성 요소를 직접 편집할 수 없습니다. 관리형 구성 요소를 편집하려면 먼저 비관리형 솔루션에 추가하십시오.
- 이렇게 하면 비관리 사용자 지정과 관리 솔루션 사이에 종속성이 생성됩니다. 종속성이 있으면 종속성을 제거하기 전까지는 관리 솔루션을 제거할 수 없습니다.
- 일부 관리형 구성 요소는 편집할 수 없습니다. 구성 요소를 편집할 수 있는지 확인하려면 관리형 속성을 참조하십시오.
- 관리형 솔루션은 내보낼 수 없습니다.
- 관리 솔루션을 삭제(제거)하면 그 안에 포함된 모든 사용자 지정 및 확장도 제거됩니다.
중요
- 원래 비관리 솔루션이 포함된 동일한 환경으로 관리 솔루션을 가져올 수 없습니다. 관리 솔루션을 테스트하려면 관리 솔루션을 가져올 수 있는 별도의 환경이 필요합니다.
- 관리 솔루션을 삭제하면 관리 솔루션의 일부인 사용자 지정 엔터티에 저장된 데이터, 관리 솔루션의 일부가 아닌 다른 엔터티의 관리 솔루션 일부인 사용자 지정 특성에 저장되는 데이터가 손실됩니다.
- 관리형 솔루션 내에서 구성 요소를 직접 편집할 수 없습니다. 관리형 구성 요소를 편집하려면 먼저 비관리형 솔루션에 추가하십시오.
제작자와 개발자는 비관리형 솔루션을 사용하여 개발 환경에서 작업한 다음 테스트와 같은 다른 다운스트림 환경에 관리형 솔루션으로 가져옵니다.
노트
개발 환경에서 사용자 지정하면 비관리형 계층에서 작업하게 됩니다. 그런 다음 비관리형 솔루션을 관리형 솔루션로 내보내 다른 환경에 배포하여 관리형 솔루션을 관리 계층의 환경으로 가져옵니다. 추가 정보: 솔루션 계층
솔루션 구성 요소
구성 요소는 잠재적으로 사용자 지정할 수 있는 요소를 나타냅니다. 솔루션에 포함될 수 있는 모든 요소가 구성 요소입니다. 솔루션에 포함된 구성 요소를 보려면 원하는 솔루션을 엽니다. 구성 요소는 구성 요소 목록에 나열됩니다.
참고
- 솔루션의 크기는 최대 95MB입니다.
- 관리형 솔루션 내에서 구성 요소를 직접 편집할 수 없습니다.
모든 솔루션에 추가할 수 있는 구성 요소 유형 목록을 보려면 구성 요소 유형 옵션을 참조하십시오.
일부 구성 요소는 다른 구성 요소 내에 중첩됩니다. 예를 들어 엔터티에는 양식, 보기, 차트, 필드, 엔터티 관계, 메시지 및 비즈니스 규칙이 포함됩니다. 이러한 각 구성 요소에는 엔터티가 있어야 합니다. 필드는 엔터티 외부에 있을 수 없습니다. 필드는 엔터티에 종속된다고 합니다. 이전 목록에 표시된 구성요소 유형의 두 배이지만 대부분은 다른 구성요소 내에 중첩되어 있으며 애플리케이션에 표시되지 않습니다.
구성 요소를 사용하는 목적은 내보내고, 가져오고, 아무 것도 남겨 두지 않고 관리형 솔루션에서 삭제할 수 있도록 관리형 속성 및 모든 종속성을 사용하여 사용자 지정할 수 있는 항목에 대한 제한을 추적하는 것입니다.
솔루션의 수명주기
솔루션은 애플리케이션 수명주기 프로세스를 지원하는 다음 작업을 제공합니다.
생성 비관리형 솔루션을 작성하고 내보냅니다.
업데이트 상위 관리형 솔루션에 배포된 관리형 솔루션에 대한 업데이트를 만듭니다. 업데이트된 구성 요소는 삭제할 수 없습니다.
업그레이드 솔루션을 기존 관리형 솔루션으로 업그레이드하여 가져와 사용하지 않는 구성 요소를 제거하고 업그레이드 논리를 구현합니다. 업그레이드는 해당 솔루션의 모든 패치를 솔루션의 새 버전으로 롤업(병합)하는 것을 포함합니다. 솔루션 업그레이드는 존재했지만 더 이상 업그레이드된 버전에 포함되지 않는 구성 요소를 삭제합니다. 즉시 업그레이드하거나 업그레이드를 완료하기 전에 몇 가지 추가 작업을 수 할 수 있도록 업그레이드를 준비하도록 선택할 수 있습니다.
패치 패치에는 구성 요소 및 자산 추가 또는 편집과 같은 상위 솔루션에 대한 변경 사항이 포함됩니다. 작은 업데이트를 할 때 패치를 사용하십시오 (핫픽스와 유사). 패치를 가져오면 상위 솔루션 위에 계층화됩니다. 패치된 구성 요소는 삭제할 수 없습니다.
솔루션 게시자
생성한 엔터티 또는 사용자 지정과 같은 모든 앱 및 기타 솔루션 구성 요소는 솔루션의 일부입니다. 모든 솔루션에 게시자가 있으므로 기본값을 사용하지 않고 자체 게시자를 만들어야합니다 솔루션을 만들 때 게시자를 지정합니다.
노트
사용자 지정 솔루션을 사용하지 않더라도 Common Data Service 기본 솔루션 및 기본 솔루션으로 알려진 솔루션을 사용하게 됩니다. 추가 정보: 기본 솔루션 및 Common Data Service 기본 솔루션
구성 요소가 작성된 솔루션의 게시자는 해당 구성 요소의 소유자로 간주됩니다. 구성 요소의 소유자는 해당 구성 요소를 포함하여 다른 솔루션 게시자가 변경할 수 있는 변경 사항을 제어합니다. 동일한 게시자 내에서 한 솔루션에서 다른 솔루션으로 구성 요소의 소유권을 옮길 수는 있지만 게시자 간에는 불가능합니다. 관리형 솔루션에서 구성 요소의 게시자를 소개하면 구성 요소의 게시자를 변경할 수 없습니다. 이러한 제한으로 인해 나중에 솔루션 전체에서 계층화 모델을 변경할 수 있도록 단일 게시자를 정의하는 것이 가장 좋습니다.
솔루션 게시자는 앱을 개발한 사람을 지정합니다. 따라서 의미있는 솔루션 게시자 이름을 만들어야합니다.
솔루션 게시자 접두사
솔루션 게시자에는 접두사가 포함됩니다. 게시자 접두사는 이름 충돌을 방지하는 데 도움이 되는 메커니즘입니다. 이를 통해 충돌이 거의 없이 환경에 다른 게시자의 솔루션을 설치할 수 있습니다. 예를 들어 여기에 표시된 Contoso 솔루션에는 솔루션 게시자 접두사 contoso가 포함되어 있습니다.
노트
솔루션 게시자 접두사를 변경할 때는 메타데이터 항목이 작성된 후에는 이름을 변경할 수 없으므로 새 앱 또는 메타데이터 항목을 작성하기 전에 수행해야 합니다.
추가 정보:
솔루션 종속성
관리형 솔루션이 층층이 놓이는 방식 때문에 일부 관리형 솔루션은 다른 관리형 솔루션의 솔루션 구성 요소에 종속될 수 있습니다. 일부 솔루션 게시자는 이를 활용하여 모듈식 솔루션을 구축합니다. 먼저 "기본" 관리형 솔루션를 설치해야 할 수 있으며 그런 다음 기본 관리형 솔루션의 구성 요소를 추가로 사용자 정의하는 두 번째 관리형 솔루션를 설치할 수 있습니다. 두 번째 관리형 솔루션은 첫 번째 솔루션의 일부인 솔루션 구성 요소에 따라 다릅니다.
시스템은 솔루션 간의 이러한 종속성을 추적합니다. 설치되지 않은 기본 솔루션이 필요한 솔루션을 설치하려고 하면 해당 솔루션을 설치할 수 없습니다. 솔루션을 먼저 설치하려면 다른 솔루션이 필요하다는 메시지가 표시됩니다. 마찬가지로 종속성으로 인해 기본 솔루션에 종속된 솔루션이 아직 설치되어 있는 동안에는 기본 솔루션을 제거할 수 없습니다. 기본 솔루션을 제거하려면 먼저 종속 솔루션을 제거해야 합니다. 추가 정보: 종속성 제거
솔루션 구성 요소 종속성
솔루션 구성 요소는 잠재적으로 사용자 지정할 수 있는 요소를 나타냅니다. 솔루션에 포함될 수 있는 것은 솔루션 구성 요소이며 일부 구성 요소는 다른 구성 요소에 종속됩니다. 예를 들어 웹 사이트 필드와 계정 요약 보고서는 모두 계정 엔터티에 따라 다릅니다. 추가 정보: 솔루션 구성 요소에 대한 종속성 추적