pool:
name: Azure Pipelines
# このパイプラインは開発環境にあるソリューションをAzure DevOps上のGitでソース管理を行います。
#「SolutionName」という変数を利用しています。このパイプラインを実行する前に、画面右上のVariablesから追加してください。
steps:
- checkout: self
persistCredentials: true
- task: PowerPlatformToolInstaller@2
displayName: 'Power Platform ツールのインストール '
# 開発環境のDataverseへ接続確認を行います
- task: PowerPlatformWhoAmi@2
displayName: '接続確認(開発環境) '
inputs:
authenticationType: 'PowerPlatformSPN'
PowerPlatformSPN: 'Power Platform ALM Dev' #開発環境のSPNを指定します
# 開発環境内のソリューションを発行します
- task: PowerPlatformPublishCustomizations@2
displayName: 'ソリューション発行'
inputs:
authenticationType: 'PowerPlatformSPN'
PowerPlatformSPN: 'Power Platform ALM Dev' #開発環境のSPNを指定します
AsyncOperation: true
MaxAsyncWaitTime: '60'
# 指定したソリューションをアンマネージドソリューションとしてエクスポートします
- task: PowerPlatformExportSolution@2
displayName: 'ソリューションエクスポート(アンマネージド)'
inputs:
authenticationType: PowerPlatformSPN
PowerPlatformSPN: 'Power Platform ALM Dev' #開発環境のSPNを指定します
SolutionName: '$(SolutionName)'
SolutionOutputFile: '$(Build.ArtifactStagingDirectory)/$(SolutionName)-Unmanaged.zip'
# エクスポートしたアンマネージドソリューションをGitレポジトリへ展開します
- task: PowerPlatformUnpackSolution@2
displayName: 'ソリューションのアンパック(アンマネージド)'
inputs:
SolutionInputFile: '$(Build.ArtifactStagingDirectory)/$(SolutionName)-Unmanaged.zip'
SolutionTargetFolder: '$(Build.SourcesDirectory)/$(SolutionName)/Unmanaged'
# 指定したソリューションをマネージドソリューションとしてエクスポートします
- task: PowerPlatformExportSolution@2
displayName: 'ソリューションエクスポート(マネージド)'
inputs:
authenticationType: PowerPlatformSPN
PowerPlatformSPN: 'Power Platform ALM Dev' #開発環境のSPNを指定します
SolutionName: '$(SolutionName)'
SolutionOutputFile: '$(Build.ArtifactStagingDirectory)/$(SolutionName)-Managed.zip'
Managed: true
# エクスポートしたマネージドソリューションをGitレポジトリへ展開します
- task: PowerPlatformUnpackSolution@2
displayName: 'ソリューションのアンパック(マネージド)'
inputs:
SolutionInputFile: '$(Build.ArtifactStagingDirectory)/$(SolutionName)-Managed.zip'
SolutionTargetFolder: '$(Build.SourcesDirectory)/$(SolutionName)/Managed'
SolutionType: Managed
# 変更内容をコミットします
# user.email と user.name を変更してください
- script: |
echo commit all changes
git config user.email "メールアドレスを変更してください"
git config user.name "お名前を変更してください"
git checkout -B main
git add --all
git commit -m "adds source code files from DEV"
git push --set-upstream origin main
displayName: 'コマンドラインスクリプトの実行(変更内容のコミット)'