MSIX パッケージ拡張機能
"MSIX パッケージ" 拡張機能は、MSIX パッケージ形式を使用した Windows アプリのビルド、パッケージ化、および署名に利用できる Azure DevOps の拡張機能です。
CI/CD ワークフローは、市場投入までのコストと時間を短縮しつつ効率性と品質を向上させるために、開発プロセスに欠かせない要素になっています。 Microsoft の CI/CD ソリューション Azure DevOps パイプラインは広く採用され普及していますが、アプリのビルドと展開のワークフローを統合する現在のプロセスは、MSIX として Azure Pipelines にパッケージ化する必要があり、特に Azure Pipelines または MSIX の専門家以外の人にとっては面倒です。 この Azure DevOps 拡張機能によって、簡単かつ直感的なソリューションが提供されます。これにより、MSIX としてパッケージ化されているアプリや既存の CI/CD ワークフローを利用するアプリのビルドと展開のプロセスをより簡単に自動化して、ビルドと展開のメカニズムを損なうことなく MSIX に移行することができます。
"MSIX パッケージ" 拡張機能には、要件に応じてパイプラインをカスタム ビルドする際に使用できる次のタスクが含まれています。
- MSIX のビルドおよびパッケージ - MSIX パッケージ形式を使用して Windows アプリをビルドしてパッケージ化する
- MSIX パッケージ署名 - 信頼された証明書を使用して MSIX パッケージに署名する
- MSIX 用のアプリ インストーラー ファイル - MSIX アプリの .appinstaller ファイルを作成または更新する
- MSIX アプリのアタッチ用にパッケージを作成する - MSIX アプリのアタッチ用に VHDX パッケージを作成する
拡張機能をインストールする
Azure DevOps Marketplace を参照し、拡張機能の名前 "MSIX パッケージ" 拡張機能を探します。
パイプラインを作成する
Azure DevOps プロジェクトの新しいパイプラインを作成します。
[Use the classic editor to create a pipeline without YAML]\(クラシック エディターを使用して YAML なしでパイプラインを作成する\) のオプションを選択します。
バージョン管理システムを選択して、リポジトリと既定のブランチの詳細を指定します。
[テンプレートの選択] を求められた場合には、[start with an Empty job]\(空のジョブから始めます\) をクリックします。
MSIX 拡張機能は Windows エージェント上でのみ実行されるため、[エージェントの指定] の選択を windows-2019 に変更します。
既定では、パイプラインに [Agent job 1] が表示されます。 プラス記号をクリックして、"Agent job 1 にタスクを追加" します。
[タスクの追加] 検索バーで MSIX を検索すると、"MSIX パッケージ" 拡張機能に前述したタスクが表示されます。 要件に応じて、必要なタスクを追加することによって、パイプラインをカスタム ビルドできます。 ただし、このページでは、4 つのすべてのタスクの構成方法について説明します。
MSIX のビルドおよびパッケージ化
注: パッケージ化されたアプリをこのタスクを使用して構築する場合、Windows アプリケーション パッケージ プロジェクトを含める必要があります。これは、タスクに Package.appxmanifest ファイルが必要なためです。 タスクによってこれが自動的に追加されることはありません。
次の例は、yaml ファイルでビルドとパッケージ タスクを構成する方法を示しています。
steps:
- task: MSIX.msix-ci-automation-task-dev.msix-packaging.MsixPackaging@1
displayName: 'MSIX build and package'
inputs:
outputPath: '$(Build.ArtifactStagingDirectory)\MyApp.msix'
solution: MyUWPApp.sln
buildPlatform: x64
updateAppVersion: true
manifestFile: MyUWPApp/Package.appxmanifest
appVersion: 2.0.0.0
appPackageDistributionMode: SideloadOnly
msbuildArchitecture: x64
MSIX パッケージの署名
署名タスクを使用すると、証明書を使用して署名することができます。 証明書は、セキュリティで保護されたファイル ライブラリから取得することも、Azure Key Vault タスクでフェッチする場合と同様に文字列としてエンコードすることもできます。
次の例は、yaml ファイルでパッケージ署名タスクを構成する方法を示しています。
steps:
- task: MSIX.msix-ci-automation-task-dev.msix-signing.MsixSigning@1
displayName: 'Sign MSIX package'
inputs:
certificateType: base64
encodedCertificate: '$(kvtestcert)'
MSIX 用のアプリ インストーラー ファイル
次の例は、yaml ファイルで AppInstaller ファイル タスクを構成する方法を示しています。
steps:
- task: MSIX.msix-ci-automation-task-dev.app-installer-file.AppInstallerFile@1
displayName: 'Create App Installer file'
inputs:
package: '$(Build.ArtifactStagingDirectory)\MyApp.msix'
outputPath: '$(Build.ArtifactStagingDirectory)\MyApp.appinstaller'
uri: 'https://myuwpapp-demo.azurewebsites.net/MyApp.appinstaller'
mainItemUri: 'https://myuwpapp-demo.azurewebsites.net/MyApp.msix'
showPromptWhenUpdating: true
updateBlocksActivation: true
MSIX アプリのアタッチ用にパッケージを作成する
次の例は、yaml ファイルでアプリのアタッチ用の VHDX ファイルを作成するようにタスクを構成する方法を示しています。
steps:
- task: MSIX.msix-ci-automation-task-dev.msix-app-attach.MsixAppAttach@1
displayName: 'Create package for MSIX app attach'
inputs:
package: '$(Build.ArtifactStagingDirectory)\MyApp.msix'
vhdxOutputPath: '$(Build.ArtifactStagingDirectory)\MyApp.vhdx'
MSIX アプリ アタッチ パッケージを AVD に発行する
次の例は、yaml ファイルで avd アプリ アタッチ タスクを構成する方法を示しています。
steps:
- task: MSIX.msix-ci-automation-task-dev.avd-app-attach-publish.AVDAppAttachPublish@0
displayName: 'Publish MSIX app attach package to AVD'
inputs:
vhdxPath: '$(Build.ArtifactStagingDirectory)/App.vhdx'
connectedServiceNameARM: 'ed1db943-1e1c-4eac-8683-ead2abc281b5'
resourceGroupName: 'appattach-test-rg'
storageAccount: 'appattachteststorage'
fileShare: 'appattach-test-fs'
hostPool: 'appattach-hostpool'
workSpace: 'appattach-test-ws'
applicationGroup: 'appattach-test-ag-rail'
フィードバックの提供方法
"MSIX パッケージ" 拡張機能についてのフィードバックをお寄せください。 次のチャネルを通じてご連絡ください。
- Azure DevOps Marketplace で拡張機能を確認する
- MSIX Tech Community
- GitHub オープンソースプロジェクト - この拡張機能のソース コードは MSIX SDK オープン ソース プロジェクトの一部であり、投稿と提案を積極的に受け入れています。