【问题标题】:Automate deployment of Service Fabric project without TFS or VSTS无需 TFS 或 VSTS 即可自动部署 Service Fabric 项目
【发布时间】:2017-02-24 09:09:14
【问题描述】:

我知道您可以使用 Visual Studio 用 C# 编写 publish a Service Fabric application,我已阅读 using TFS or VSTS 上的这篇文章,以设置 Service Fabric 应用程序的持续集成 DevOps 构建。

我怎样才能使用 PowerShell 手动完成这一切? 我知道我可以使用来自 this article on deployment 的 PowerShell 执行以下操作:

  • 使用 Visual Studio 打包项目。
  • 将包传输到远程服务器。
  • 当我在远程服务器的上下文中时,使用本文中的 PowerShell 脚本示例来部署包。

相反,这里有两个我似乎无法弄清楚哪些可以帮助我从 PowerShell 执行此操作:

  • 使用 PowerShell,如何以与在 Visual Studio 上下文中相同的方式打包我的 Service Fabric 项目?
  • 使用 PowerShell,如何以与在 Visual Studio 上下文中相同的方式远程部署我的 Service Fabric 项目?

【问题讨论】:

    标签: c# .net powershell azure azure-service-fabric


    【解决方案1】:

    要通过命令行生成包,可以调用sfproj文件上的“Package”目标。

    create a deployment package for Service Fabric that includes all artifacts necessary to run the designed workflows at runtime上查看我的回答

    然后按照 blackSphere 的建议按照https://azure.microsoft.com/en-us/documentation/articles/service-fabric-deploy-remove-applications/ 的说明进行操作。

    【讨论】:

    • 啊,完美。谢谢! msbuild app.sfproj /t:Package 是我需要的。
    【解决方案2】:

    如果您还没有看到此链接,请查看Deploy and Remove Packages using Powershell 文章。

    假设您有一个名为 MyApplicationType 的文件夹,其中包含必要的应用程序清单、服务清单和代码/配置/数据包。 Copy-ServiceFabricApplicationPackage 命令将包上传到集群镜像存储

    这需要一个目录并上传它。然后您必须告诉它获取该图像并在应用程序中使用它。

    Register-ServiceFabricApplicationType 命令仅在系统成功复制应用程序包后返回。这需要多长时间取决于应用程序包的内容。如果需要,可以使用 -TimeoutSec 参数来提供更长的超时时间。

    注册后就可以创建应用了:

    您可以使用任何已通过 New-ServiceFabricApplication 命令成功注册的应用程序类型版本来实例化应用程序

    【讨论】:

    • 你误解了我的问题,所以让我改一下。 Copy-ServiceFabricApplicationPackage 要求您拥有应用程序包。如何使用 PowerShell 在 Visual Studio 之外创建包?我需要编写一种在 Visual Studio 之外构建包的方法。怎么样?
    猜你喜欢
    • 2021-09-14
    • 1970-01-01
    • 2020-02-15
    • 2018-08-31
    • 1970-01-01
    • 1970-01-01
    • 2019-03-15
    • 1970-01-01
    • 2018-03-02
    相关资源
    最近更新 更多