Power Apps 솔루션을 지원하는 GitHub 작업
13009 단어 powerappsactionshackathon
내 워크플로우
Power Apps에서는 자산을 솔루션으로 패키징합니다. 솔루션은 사용자 정의가 한 환경에서 다른 환경으로 이동하는 방법입니다. Solution Packager를 사용하여 솔루션의 포장을 풀고 다시 포장합니다.
Azure DevOps에서 이 작업을 쉽게 수행할 수 있습니다. 이를 지원하는 Microsoft 및 타사 도구가 있기 때문입니다. 현재 GitHub Marketplace에는 이를 도와줄 Action이 없기 때문에 PowerShell만 사용하여 이를 수행하는 것이 재미있는 프로젝트가 될 것이라고 생각하여 이 두 가지 Action을 개발했습니다.
Power Apps Extract Solution - 이 작업은 Solution Packager를 사용하여 솔루션 파일을 자산으로 압축 해제하고 저장소에 커밋합니다
Power Apps Deploy Solution - 이 작업은 솔루션 파일을 Power Apps 환경에 배포합니다.
PowerShell만 사용하여 이 작업을 수행하고 싶었기 때문에 PowerShell 갤러리의 오픈 소스 commandlet을 사용하여 이 작업을 비교적 쉽게 수행할 수 있음을 알았습니다composite run steps.
샘플 워크플로
다음은 GitHub 워크플로에서 이 두 작업을 사용하는 방법에 대한 샘플 워크플로입니다.
# This workflow is run only manually, as it uses a workflow_dispatch. It is recommended to use cron or push into main branch to trigger this. Since this workflow also commits into the repo, use ignore tags to prevent infinite loop. Refer https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#example-ignoring-branches-and-tags
name: extract-and-deploy
on:
workflow_dispatch:
inputs:
solutionName:
description: "Solution Name"
required: true
default: "GitHubSolution"
sourceEnvironmentUrl:
description: "Source Environment URL"
required: true
default: "https://xxxx.crm.dynamics.com"
targetEnvironmentUrl:
description: "Target Environment URL"
required: true
default: "https://xxxx.crm.dynamics.com"
release:
description: "Release?"
required: true
default: true
managed:
description: "Managed?"
required: true
default: true
debug:
description: "Debug?"
required: true
default: "true"
jobs:
build:
# The type of runner that the job will run on. This needs to be Windows runner.
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- name: Dump GitHub context
if: github.event.inputs.debug == 'true'
env:
GITHUB_CONTEXT: ${{ toJson(github) }}
run: echo "$GITHUB_CONTEXT"
- name: Extract Solution
id: extract-solution
uses: rajyraman/[email protected]
with:
token: ${{ secrets.GITHUB_TOKEN }}
solutionName: ${{ github.event.inputs.solutionName }}
sourceEnvironmentUrl: ${{ github.event.inputs.sourceEnvironmentUrl }}
applicationId: ${{ secrets.APPLICATION_ID }}
applicationSecret: ${{ secrets.APPLICATION_SECRET }}
releaseSolution: ${{ github.event.inputs.release }}
- name: Deploy Solution
id: deploy-solution
uses: rajyraman/[email protected]
with:
token: ${{ secrets.GITHUB_TOKEN }}
solutionName: ${{ github.event.inputs.solutionName }}
targetEnvironmentUrl: ${{ github.event.inputs.targetEnvironmentUrl }}
applicationId: ${{ secrets.APPLICATION_ID }}
applicationSecret: ${{ secrets.APPLICATION_SECRET }}
tag: ${{ steps.extract-solution.outputs.solutionVersion }}
managed: ${{ github.event.inputs.managed }}
# This step below can be removed, if you do not want to send a notification to Teams about this solution deployment.
- name: Notify Teams
uses: fjogeleit/[email protected]
with:
# Url to Power Automate Flow to notify about Solution Deployment
url: "${{ secrets.FLOW_HTTP_URL }}"
# Request body to be sent the Flow with HTTP Trigger
data: >-
{
"solutionFile": "${{ steps.deploy-solution.outputs.solution }}",
"tag": "${{ steps.deploy-solution.outputs.solutionVersion }}",
"environmentUrl": "${{ github.event.inputs.targetEnvironmentUrl }}",
"repoUrl": "https://github.com/${{ github.repository }}",
"runId": "${{ github.run_id }}",
"sha": "${{ github.sha }}"
}
샘플 워크플로 실행
Power Apps 추출 솔루션 작업으로 생성된 릴리스 및 자산
Power Automate를 사용하는 Teams 알림
제출 카테고리:
엉뚱한 와일드카드
Yaml 파일 또는 코드 링크
라지라만 / powerapps-배포-솔루션
Power Apps 솔루션을 배포하기 위한 GitHub 작업
Power Apps 배포 솔루션
이 작업은 일치하는 태그가 있는 릴리스의 솔루션 파일을 대상 환경에 배포합니다.
입력
입력
필수의
기본
설명
토큰
✅
-
GitHub Personal Access Token . 릴리스에서 솔루션 파일을 다운로드하는 데 필요합니다.
꼬리표
✅
-
릴리스와 연결된 Git 태그입니다. Power Apps Solution Extract Action 을 사용하는 경우 솔루션의 버전 번호로 릴리스에 태그를 지정합니다.
솔루션 이름
✅
-
솔루션의 고유 이름입니다. 관리형 솔루션을 배포하는 경우 솔루션 업그레이드 단계에서 사용됩니다.
targetEnvironmentUrl
✅
-
솔루션이 배포될 환경 URL입니다.
애플리케이션 ID
✅
-
Power Apps 환경에 연결하는 데 사용할 애플리케이션 ID입니다. 이를 용이하게 하기 위해 Azure에서 애플리케이션 등록 및 범위를 설정하는 방법을 모르는 경우 참조하세요.
응용비밀
✅
-
사용될 비밀
…
View on GitHub
라지라만
/
powerapps-솔루션-추출
Power Apps 솔루션을 추출, 커밋 및 릴리스하기 위한 GitHub 작업입니다.
Power Apps 추출 솔루션
이 작업은 소스 환경에서 지정된 솔루션을 내보내고 이를 개별 구성 요소로 추출 및 분해하고 repo에 커밋합니다. 이 작업은 리포지토리의 개별 구성 요소에서 관리형 및 비관리형 솔루션을 빌드하고 이러한 파일을 릴리스에 자산으로 게시할 수도 있습니다.
입력
입력
필수의
기본
설명
토큰
✅
-
GitHub Personal Access Token . 릴리스에서 솔루션 파일을 다운로드하는 데 필요합니다.
솔루션 이름
✅
-
솔루션의 고유 이름입니다. 관리형 솔루션을 배포하는 경우 솔루션 업그레이드 단계에서 사용됩니다.
소스 환경 URL
✅
-
솔루션을 다운로드할 환경 URL입니다.
애플리케이션 ID
✅
-
Power Apps 환경에 연결하는 데 사용할 애플리케이션 ID입니다. 이를 용이하게 하기 위해 Azure에서 애플리케이션 등록 및 범위를 설정하는 방법을 모르는 경우 참조하세요.
응용비밀
✅
…
View on GitHub
Reference
이 문제에 관하여(Power Apps 솔루션을 지원하는 GitHub 작업), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/rajyraman/github-actions-to-assist-wit-h-power-apps-solutions-46a4
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
이 작업은 소스 환경에서 지정된 솔루션을 내보내고 이를 개별 구성 요소로 추출 및 분해하고 repo에 커밋합니다. 이 작업은 리포지토리의 개별 구성 요소에서 관리형 및 비관리형 솔루션을 빌드하고 이러한 파일을 릴리스에 자산으로 게시할 수도 있습니다.
입력
입력
필수의
기본
설명
토큰
✅
-
GitHub Personal Access Token . 릴리스에서 솔루션 파일을 다운로드하는 데 필요합니다.
솔루션 이름
✅
-
솔루션의 고유 이름입니다. 관리형 솔루션을 배포하는 경우 솔루션 업그레이드 단계에서 사용됩니다.
소스 환경 URL
✅
-
솔루션을 다운로드할 환경 URL입니다.
애플리케이션 ID
✅
-
Power Apps 환경에 연결하는 데 사용할 애플리케이션 ID입니다. 이를 용이하게 하기 위해 Azure에서 애플리케이션 등록 및 범위를 설정하는 방법을 모르는 경우 참조하세요.
응용비밀
✅
…
View on GitHub
Reference
이 문제에 관하여(Power Apps 솔루션을 지원하는 GitHub 작업), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/rajyraman/github-actions-to-assist-wit-h-power-apps-solutions-46a4텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)