VSTS CI 桌面应用程序 CD

VSTS CI CD for desktop apps

如何在 VSTS(Visual Studio 团队服务)中为 winform 应用程序实现 CD(持续交付)?目前这是我的 Visual Studio 解决方案文件

中的内容

1) 一个winform项目

2) Windows 设置和部署项目

所以每次我构建一个 winform 项目时,我都会执行以下步骤(我需要 CI / CD 来完成这些)

1) Build Setup and Deployment 项目,它获取 Winform 项目的 Build 输出并创建 EXE / MSI

2) 我使用这个 MSI 文件并使用 NSIS 将它嵌入到 EXE 中

3) I 运行 SIGNTOOL 从命令提示符和数字签名 EXE

4) 我将这个签名的 EXE 上传到我的网站

现在我如何使用 CI / CD 管道来自动执行上述操作,或者我的情况不可能吗?我很迷惑。我找不到任何适用于 winforms 的 material,所有适用于网络应用程序。

谢谢

您显然需要某种桌面部署策略。最简单的是使用 xcopy。其他替代方案包括 ClickOnce, Windows Installer or Squirrel 等框架。我有许多使用 Clickonce 的公司应用程序,我已经使用 vsts 进行了部署。

Now I am unable to understand how will VSTS help me with this?

首先使用 VSTS 构建软件并包含其他任务来打包您的应用程序。就我而言,我使用 devenv.exe 生成 ClickOnce 包,但您可以使用 powershell 包含自定义任务。构建的工件现在应该是 "packaged app"。 然后使用 VSTS 部署将 "package" 复制到某种托管服务器,您的用户可以从中下载程序包。这可以是 Web 服务器或文件服务器,也可以是适合您的部署策略的任何位置。

在这种情况下,VSTS 是一种编排工具。它有助于为您触发操作。

请参阅 Deploy an agent on Windows 了解如何设置本地代理。

要按照您在 VSTS 中使用的方式构建和部署,您可以使用以下步骤:

  1. 创建存储库 (Git or TFVC) 并将您的解决方案推送到存储库中。
  2. 添加build/release定义。

    使用 CI 构建,在触发器选项卡中启用 持续集成。使用 CD 部署,在 Pipeline 选项卡中启用 Continuous deployment trigger。 CI构建和CD部署的过程,可以参考CI/CD.

  3. 在您的 build/release 定义中添加相关任务。