如何通过 Azure Devops 将 UWP 包发布到 Windows 应用商店?

Posted

技术标签:

【中文标题】如何通过 Azure Devops 将 UWP 包发布到 Windows 应用商店?【英文标题】:How do I publish a UWP package to the Windows Store via Azure Devops? 【发布时间】:2019-05-18 15:56:25 【问题描述】:

我正在使用带有 c# Winforms 应用程序的 Desktop Bridge 来制作要发布到商店的包。

如果我使用桌面桥在本地制作我的包,那么我可以成功地将它上传到 windows 商店。

我现在还能够使用管道构建和创建包工件,并且可以在工件资源管理器中看到它。

我在关注the docs 如何将包裹送入商店时遇到了麻烦。

提到

ps

$(Build.ArtifactStagingDirectory)\
AppxPackages\MyUWPApp__$(AppxVersion)_x86_x64_ARM_bundle.appxupload

ps是powershell的意思吗?

如何获取 YAML?

或者我打算建立一个发布管道?

我尝试查看发布任务,但找不到任何提及商店的内容。

【问题讨论】:

不是答案,但非常相关:看看Visual Studio App Center。他们有很多内置的东西可以部署到不同的商店。 @rickvdbosch 我更新显示这是一个 winforms 应用程序而不是移动应用程序 说要推到商店,对吗?那么它就不可能是 Windows 窗体应用程序。 可以,通过桌面网桥。我已经从我自己的机器上将应用程序放入商店。 如果我没记错的话,桌面桥为您提供“为桌面应用程序创建 Windows 应用程序包的能力”。因此,虽然 input 可能是 WinForms,但 output 是一个应用程序包……对吧?因此,您应该能够使用 AppCenter 将该包推送到商店。明天将尝试创建一个示例。 【参考方案1】:

这是一篇很棒的文章,介绍了如何构建包并将其部署到 Hockey App(现为 App Center),但也可用于部署到商店。我不确定您将如何将其转换为 YAML,但应该不会太难。https://mobilefirstcloudfirst.net/2016/02/continuous-deployment-of-windows-10-uwp-apps-to-hockeyapp-using-vsts/

按照文章中的说明构建包后(听起来就像您已经拥有),跳过 Hockey App 步骤,而是使用此 Azure DevOps 扩展任务步骤发布到商店:https://marketplace.visualstudio.com/items?itemName=MS-RDX-MRO.windows-store-publish

使用扩展程序的说明在扩展程序网页上。你必须有一个 Azure Active Directory 帐户。如果您没有,它很容易设置并且是免费的!

回答您的问题

    ps 是否意味着 powershell? - 我只是浏览了这篇文章,我不这么认为。通常是说您需要在构建步骤中的属性中提供此值。 YAML 非常新,据我所知,没有一种简单的方法可以将其转换为 YAML。 您可能希望分两步执行此操作: 1) 构建包并上传工件。 2) 下载并发布包。第 1 步应该在构建中完成,第 2 步应该在发布中完成。当只有发布失败时,我发现将这些步骤分成两个非常有用。然后我不必重新构建包来重试,我可以重新部署版本。

【讨论】:

感谢 James 我更新了问题以解释这是一个 winforms 程序。我在第一篇文章中看不到商店的提及。第二篇文章似乎是关于从我的机器上发布的。我想从 devops 发布。 正确,第一篇是构建应用包。我不知道如何在 azure devops 中创建桌面桥接包,但我认为它可以通过 powershell 或其他方式完成。第二个“文章”(它是扩展页面,包含如何使用它的说明)是您安装到 Azure DevOps 组织的扩展。我假设您可以在构建 winforms 桌面桥 appxpackage 或 msix 后使用它。 桌面桥是源码中的一个项目我直接推一下 谢谢,我需要一段时间才能访问第二个链接。

以上是关于如何通过 Azure Devops 将 UWP 包发布到 Windows 应用商店?的主要内容,如果未能解决你的问题,请参考以下文章

在 Azure DevOps Git 存储库中使用来自 Azure Pipelines 的 Python 包版本标记 Git 存储库

通过 Azure Devops 将 .Net Core 3.1 Web 应用程序部署到 Azure Linux Web 服务时出错

如何将 Azure DevOps Extension for Azure CLI 与 Azure DevOps Server 一起使用?

Azure DevOps系列Azure DevOps构建.NET EFCore应用程序

Azure Devops - 将 YAML 脚本中的变量设置为日期时间

将数组作为输入传递给 Azure DevOps YAML 任务