Power Platform Well-Architected 운영 효율성 체크리스트 권장 사항에 적용됩니다.
| OE:04 | 업계에서 입증된 개발 및 테스트 관행을 따라 소프트웨어 개발 및 품질 보증 프로세스를 최적화하세요. 명확한 역할 지정을 위해 도구, 소스 제어, 애플리케이션 디자인 패턴, 문서 및 스타일 가이드와 같은 구성 요소 전반에 걸쳐 관행을 표준화합니다. |
|---|
CI/CD(지속적인 통합/지속적인 배포)를 도입하면 시민 개발자의 개발 복잡성이 증가할 수 있습니다. 그러나 새로운 기능과 버그 수정을 신속하게 통합할 수 있는 확장 가능하고 자동화된 개발 프로세스는 안정적이고 지속 가능한 융합 개발 프로세스에 매우 중요합니다.
개발자는 작은 코드 변경을 수행하고 이러한 변경 사항을 코드 리포지토리에 푸시하며 품질, 테스트 범위 및 발생한 버그에 대한 거의 즉각적인 피드백을 얻을 수 있습니다. 이 프로세스를 통해 더 빠르고 자신감을 갖고 위험을 줄이면서 작업할 수 있습니다. 지속적인 통합은 소스 제어 시스템과 배포 파이프라인을 통합하여 소프트웨어 개발 팀에 자동화된 빌드, 테스트 및 피드백 메커니즘을 제공하는 관행입니다.
주요 디자인 전략
연속 통합은 개발자가 소프트웨어 업데이트를 정기적으로 소스 제어 시스템에 통합하는 데 사용하는 소프트웨어 개발 방식입니다.
연속 통합 프로세스는 엔지니어가 코드 변경 사항을 통합할 준비가 되었음을 CI 시스템에 알리기 위해 GitHub 끌어오기 요청을 생성할 때 시작됩니다. 이상적으로 통합 프로세스는 여러 기준 및 테스트를 기준으로 코드의 유효성을 검사합니다. 그런 다음 요청한 엔지니어에게 이러한 테스트 상태에 대한 피드백을 제공합니다.
기준 점검과 테스트가 잘 진행되면 통합 프로세스는 업데이트된 소프트웨어를 배포하는 자산을 생성하고 준비합니다. 이러한 자산에는 컴파일된 코드와 컨테이너 이미지가 포함됩니다.
연속 통합은 다음 작업을 수행하여 고품질 소프트웨어를 더 빠르게 제공하는 데 도움이 될 수 있습니다.
- 코드에 대해 자동화된 테스트를 실행하여 주요 변경 사항을 조기에 감지합니다.
- 코드 분석을 실행하여 코드 표준, 품질 및 구성을 확인하세요.
- 규정 준수 및 보안 검사를 실행하여 소프트웨어에 알려진 취약점이 없는지 확인하십시오.
- 승인 또는 기능 테스트를 실행하여 소프트웨어가 예상대로 작동하는지 확인하십시오.
- 감지된 문제에 대해 빠른 피드백을 제공합니다.
- 해당하는 경우 업데이트된 코드가 포함된 배포 가능한 자산 또는 패키지를 생성합니다.
환경
환경 설정 및 구성은 지속 가능하고 안정적인 CI/CD에 매우 중요합니다. Power Platform 환경은 솔루션 개발, 테스트 및 배포의 다양한 단계를 격리하도록 설정할 수 있습니다. CI/CD 프로세스는 이러한 단계를 통해 변경 사항을 이동합니다. 개발자 환경에 대한 기본 원칙을 바탕으로 환경 전략을 수립합니다.
연속 통합 파이프라인
연속 통합을 달성하려면 도구를 사용하여 프로세스를 관리, 통합, 자동화하세요. 연속 통합 파이프라인은 다음을 제공합니다.
- 자동화된 테스트를 실행하기 위한 플랫폼
- 규정 준수 검사
- 보고 중
- 지속적인 통합 프로세스를 구성하는 다른 모든 구성 요소
대부분의 경우, 파이프라인 소프트웨어는 소스 제어에 연결되어 풀 리퀘스트가 생성되거나 소프트웨어가 특정 브랜치에 병합될 때 지속적 통합 파이프라인이 실행됩니다. 소스 제어 통합은 끌어오기 요청에 대해 직접 CI 피드백을 제공할 수 있는 기회도 제공합니다.
Azure Pipelines 또는 GitHub Actions와 같은 많은 솔루션은 연속 통합 파이프라인 기능을 제공합니다. Azure를 사용하여 CI/CD 구축에서 자세히 알아보세요 . Microsoft Power Platform
소스 제어 통합
연속 통합 파이프라인과 소스 제어 시스템의 통합은 빠른 셀프 서비스 코드 기여를 가능하게 하는 핵심입니다.
CI 파이프라인은 새로 생성된 끌어오기 요청에서 실행됩니다. 파이프라인에는 모든 테스트, 보안 평가 및 기타 검사가 포함됩니다. CI 테스트 결과는 품질에 대한 거의 실시간 피드백을 허용하기 위해 끌어오기 요청에 직접 표시됩니다.
또 다른 인기 있는 방법은 현재 빌드 상태를 표시하기 위해 소스 제어에 표시할 수 있는 작은 보고서나 배지를 작성하는 것입니다.
다음 이미지는 GitHub와 Azure DevOps 파이프라인 간의 통합을 보여 줍니다. 이 예에서는 풀 리퀘스트를 생성하면 파이프라인이 트리거됩니다. 파이프라인 상태가 끌어오기 요청에 표시됩니다.
통합 테스트
연속 통합의 핵심 요소는 개발자가 코드에 기여할 때 코드를 지속적으로 빌드하고 테스트하는 것입니다. 생성된 끌어오기 요청을 테스트하면 커밋에 주요 변경 사항이 적용되지 않았다는 즉각적인 피드백을 얻을 수 있습니다. 장점은 연속 통합 파이프라인의 테스트가 테스트 기반 개발 중에 실행되는 테스트와 동일할 수 있다는 것입니다.
사용자 지정 코드에 대한 품질 검사
솔루션에 사용자 지정 코드를 포함할 때 검증 파이프라인에 코드 품질 검사를 추가하여 깨끗한 사용자 지정 코드가 소스 제어에 커밋되는지 확인하세요. 사용 중인 코딩 언어 및 구문 패턴에 관계없이 코드 품질을 유지하고 보안 및 거버넌스를 강화하기 위한 여러 옵션이 있습니다.
실패한 테스트
실패한 테스트는 일시적으로 배포를 차단하고 발생한 상황에 대한 심층 분석으로 이어져야 합니다. 또한 실패한 테스트는 테스트를 개선하거나 테스트 실패의 원인이 된 변경 사항을 개선해야 합니다.
Power Platform 간편 사용
Power Platform 관리 센터의 배포 페이지는 관리자가 엔터프라이즈 규모로 파이프라인 배포 관리를 포함하여 ALM(Power Platform 애플리케이션 수명 주기 관리) 워크로드를 관리하는 복잡성을 탐색하는 데 도움이 되는 간소화된 환경을 제공합니다. 관리자는 테넌트의 모든 배포를 볼 수 있으며 배포 요청을 승인하고 문제를 해결할 수 있습니다.
Power Platform의 파이프라인은 ALM 자동화 및 CI/CD(연속 통합 및 지속적인 업데이트) 기능을 서비스에 도입하여 Power Platform 및 Dynamics 365 고객을 위한 ALM(애플리케이션 수명 주기 관리)을 민주화하는 것을 목표로 합니다. 파이프라인은 조직의 고유한 요구 사항에 맞게 사용자 지정될 수 있습니다. 예를 들어 승인을 추가하고, 서비스 주체를 통해 배포하고, 레코드, Azure DevOps, GitHub 등의 내부 시스템과 통합할 수 있습니다. Power Platform의 파이프라인 확장에 대해 자세히 알아보세요.
Azure DevOps용 Microsoft Power Platform 빌드 도구를 사용하여 Power Platform에 빌드된 앱과 관련된 공통 빌드 및 배포 작업을 자동화할 수 있습니다.
Power Platform용 GitHub Actions를 사용하면 개발자가 자동화된 소프트웨어 개발 라이프사이클 워크플로를 구축할 수 있습니다. Microsoft Power Platform용 GitHub Actions를 사용하면 리포지토리에서 워크플로를 만들어 앱을 빌드, 테스트, 패키징, 릴리스 및 배포할 수 있으며 자동화를 수행하여 Microsoft Power Platform에 빌드된 봇 및 기타 구성 요소를 관리할 수 있습니다.
Power Apps 체커 웹 API 는 플랫폼의 사용자 정의 및 확장에 대해 정적 분석 검사를 실행하는 메커니즘을 제공합니다. Microsoft Dataverse
Microsoft Power Platform CLI(PAC CLI)는 Power Platform 솔루션의 가져오기와 내보내기, Power Platform 솔루션 소스 파일에 대한 패킹과 패킹 해제를 지원하는 명령줄 도구입니다. PAC CLI는 독립형 명령줄 도구 또는 Visual Studio Code용 확장 프로그램으로 사용할 수 있습니다.
관련 정보
- Microsoft Power Platform을 사용하는 ALM(애플리케이션 수명 주기 관리)
- Azure를 사용하여 CI/CD 빌드 Microsoft Power Platform
- Power Platform 환경
- 규모에 맞게 채택할 테넌트 환경 전략 개발 Power Platform
- 효과적인 애플리케이션 수명 주기 관리 사례 설정
- 공동개발 거버넌스
- 건강한 ALM을 구현하기 위해 시나리오를 활용하세요. Microsoft Power Apps
- Azure Pipelines를 사용하여 테스트 자동화