【问题标题】:How to include Publish profile and application parameters in a package of service fabric application for deployment?如何在用于部署的服务结构应用程序包中包含发布配置文件和应用程序参数?
【发布时间】:2021-08-30 10:25:04
【问题描述】:

我正在尝试打包 Service Fabric 应用程序,当我这样做时,我有应用程序清单和服务清单文件,但我还想包含应用程序参数和发布配置文件。

【问题讨论】:

    标签: package azure-service-fabric


    【解决方案1】:

    不确定您使用的是什么 CI 系统,但通常需要三个部分才能使其全部工作

    1. 打包您的应用程序输出 + 清单。这基本上是您在sfproj 上执行MSBuild 得到的包位置输出。在下面,我假设 CI 构建工件输出转到 '$(build.artifactstagingdirectory)'
    /t:Package /p:PackageLocation=$(build.artifactstagingdirectory)\applicationpackage
    
    1. 在 CI 构建输出中包含一个步骤,以将参数和配置文件复制到另一个文件夹 - 例如$(build.artifactstagingdirectory)\projectartifacts
    **\PublishProfiles\*.xml
    **\ApplicationParameters\*.xml
    
    1. 部署您的应用程序。为此,请查看在您首次创建 .sfproj Service Fabric 项目时由 Visual Studio 创建的 Deploy-FabricApplication.ps1 脚本。当您将应用程序部署到本地开发集群时,Visual Studio 也会使用此方法,并且您基本上必须执行相同的步骤才能部署到另一个集群。

    假设您的 CI 工件输出存在于 "$(SF_PackagePath)" 中的简单示例

    Deploy-FabricApplication.ps1 -ApplicationPackagePath "$(SF_PackagePath)\applicationpackage" -PublishProfileFile "$(SF_PackagePath)\projectartifacts\Local.1Node.xml"
    

    【讨论】:

    • 非常感谢!这就是我要找的一切!
    • 我尝试了 Deploy-FabricApplication.ps1 -ApplicationPackagePath "$(SF_PackagePath)\applicationpackage" -PublishProfileFile "$(SF_PackagePath)\projectartifacts\Local.1Node.xml" 命令,但我收到一条错误消息“The术语“Deploy-FabricApplication”未被识别为 cmdlet、函数、脚本文件或可运行程序的名称”....我应该遗漏一些东西。你能给我解释一下吗?谢谢! @Adriaan de Beer
    • 您需要在构建代理上安装SF SDKAzDo example
    • 有没有办法在本地机器上没有 SF SDK 的情况下运行 DeployServiceFabricApplication.ps1 脚本? stackoverflow.com/users/1144750/adriaan-de-beer
    • 您是否尝试过复制并运行此脚本作为构建输出的一部分?这就是我对托管的 azure 构建所做的事情。它们提供了一个不需要安装 SDK 的服务结构 PowerShell 任务。
    猜你喜欢
    • 2016-06-13
    • 2015-10-28
    • 1970-01-01
    • 1970-01-01
    • 2017-11-07
    • 1970-01-01
    • 2017-09-07
    • 1970-01-01
    • 2016-08-17
    相关资源
    最近更新 更多