# このパイプラインはGitのソースからマネージドソリューションを作成し、ソリューションをテスト環境へインポートします。
#「SolutionName」という変数を利用しています。このパイプラインを実行する前に、画面右上のVariablesから追加してください。
pool:
  name: Azure Pipelines

steps:
- checkout: self
  persistCredentials: true
- task: PowerPlatformToolInstaller@2
  displayName: 'Power Platform ツールのインストール '

# テスト環境のDataverseへ接続確認を行います
- task: PowerPlatformWhoAmi@2
  displayName: '接続確認（テスト環境） '
  inputs:
    authenticationType: 'PowerPlatformSPN'
    PowerPlatformSPN: 'Power Platform ALM Test'

# Git上のソースからマネージドソリューションを作成します    
- task: PowerPlatformPackSolution@2
  displayName: 'ソリューションのパック（マネージド）'
  inputs:
    SolutionSourceFolder: '$(Build.SourcesDirectory)/$(SolutionName)/Managed'
    SolutionOutputFile: '$(Build.ArtifactStagingDirectory)/$(SolutionName)-Managed.zip'
    SolutionType: 'Managed'

# 作成したマネージドソリューションをテスト環境へインポートします
- task: PowerPlatformImportSolution@2
  displayName: 'ソリューションのインポート（マネージド）'
  inputs:
    authenticationType: 'PowerPlatformSPN'
    PowerPlatformSPN: 'Power Platform ALM Test'
    SolutionInputFile: '$(Build.ArtifactStagingDirectory)/$(SolutionName)-Managed.zip'
    AsyncOperation: true
    MaxAsyncWaitTime: '60'