近い将来か、遠い将来か…いつか dotnet コマンドに統合される日を夢見ていますが、とりあえず直近は MSBuild 使うことになります。
MSBuild で指定する /p:パラメーター名=パラメータの値
は、基本的にプロジェクトファイルの PropertyGroup
タグの下で指定されたタグ名がパラメーター名で、タグの中の値がパラメーターの値に対応します。なので、そこを確認するといい感じです。
後は、1つ前の記事でメモしておいた以下のドキュメントも参考になります。
といっても毎回確認するのはだるいので、ここでよく指定するものをまとめておきます。
パラメーター名 | パラメーターの値 | 説明 |
---|---|---|
Configuration | Release | 本番ビルドは Release |
AppxBundlePlatforms | x86|x64 | 32bit と 64bit の場合はこのように指定する。 |
AppxPackageDir |
./dist のような適当なパス |
msix などの成果物の出力フォルダー |
AppxBundle | Always | msixbundle を生成する |
UapAppxPackageBuildMode | SideloadOnly か StoreUpload | StoreUpload はストアアップロード用とサイドロード用の両方を生成してくれる。SideloadOnly はサイドロード用のみに対応 |
AppxPackageSigningEnabled | true か false | 証明書でサインするかどうか |
PackageCertificateKeyFile |
./Hoge.pfx のようなパス |
パッケージを署名するための証明書へのパス |
PackageCertificateThumbprint | 空文字 | 署名証明書の拇印を指定してもいい。 |
PackageCertificatePassword | 証明書のパスワード | 値に書いてある通り |
AppInstallerUri | URI |
.appinstaller ファイルを置く場所のフォルダーへのパスや URI |
ここら辺を知ってれば大丈夫そう。
結果として以下のようなコマンドになる(上で紹介した全てのパラメーターをしている状態ではないです)
msbuild MyPackageProject.wapproj `
/p:Configuration=Release `
/p:AppxBundlePlatforms="x86|x64" `
/p:AppxPackageDir=./dist `
/p:AppxBundle=Always `
/p:UapAppxPackageBuildMode=SideloadOnly `
/p:AppxPackageSigningEnabled=true `
/p:AppInstallerUri=https://example.com/appdeploy
コマンドでの叩きかたがわかれば、後は各種 CI/CD サービスのお作法にしたがって上記パラメーターを渡すように書くだけだから頑張ればいけそう。