查找服务结构应用程序的 ApplicationManifest 路径时出现问题

Problem with finding ApplicationManifest path for service fabric application

我有一个 TeamCity CI 服务器,它将 service fabric 应用程序以 zip 的形式推送到章鱼。这很顺利。 我从章鱼到 azure service fabric 集群的连接是健康的。 我在我的项目中从 de zip 包中发布 我部署包。获取包顺利 部署步骤出错 它在日志中显示以下内容:部署包:E:\Octopus\Packages\Spaces-1\feeds-builtin\xxSF\xxSF.1.0.0.225.zip

我试图更改 Octopus Deploy 中的路径,但我找不到可以更改它的地方。我已经阅读了章鱼部署的文档,但没有帮助

Get-Content:找不到路径“C:\Octopus\Work190501091314-1918-1033\staging\ApplicationManifest.xml”,因为它不存在。

我不明白这个路径是从哪里来的,我猜这个路径就是包所在的地方。我的 ApplicationManifest.xml 在压缩包里。有人知道我在这里要做什么吗?

检查了 RAW 日志

我看到了这个:

信息 |部署包:E:\Octopus\Packages\Spaces-1\feeds-builtin\xx\xx.1.0.0.225.zip 详细 |解压包到:C:\Octopus\Work190501091314-1918-1033\staging 详细 |提取90个文件 详细 |对‘C:\Octopus\Work190501091314-1918-1033\staging\packages.config’执行变量替换 详细 |对“C:\Octopus\Work190501091314-1918-1033\staging\ApplicationPackageRoot\ApplicationManifest.xml”执行变量替换 详细 |对“C:\Octopus\Work190501091314-1918-1033\staging\ApplicationParameters\Cloud.xml”执行变量替换 详细 |对“C:\Octopus\Work190501091314-1918-1033\staging\ApplicationParameters\Local.1Node.xml”执行变量替换 详细 |对“C:\Octopus\Work190501091314-1918-1033\staging\ApplicationParameters\Local.5Node.xml”执行变量替换 详细 |对‘C:\Octopus\Work190501091314-1918-1033\staging\PackageRoot\ServiceManifest.xml’执行变量替换 详细 |对‘C:\Octopus\Work190501091314-1918-1033\staging\PackageRoot\Config\Settings.xml’执行变量替换 详细 |对“C:\Octopus\Work190501091314-1918-1033\staging\PublishProfiles\Cloud.xml”执行变量替换 详细 |对“C:\Octopus\Work190501091314-1918-1033\staging\PublishProfiles\Local.1Node.xml”执行变量替换 详细 |对“C:\Octopus\Work190501091314-1918-1033\staging\PublishProfiles\Local.5Node.xml”

执行变量替换

Get-Content:找不到路径“C:\Octopus\Work190501091314-1918-1033\staging\ApplicationManifest.xml”,因为它 错误 |不存在。

似乎找不到子文件夹 staging\ApplicationPackageRoot,ApplicationManifest.xml 就在这个子文件夹中。

我解决了这个问题。这是解决方案:

确保从您使用的 CI 服务器上传的包具有以下 directories/file 和结构:

  • 应用程序参数(文件夹)
  • PublishProfiles(文件夹)
  • YourServiceFabric(包含您的服务结构应用程序的文件夹)这与 ApplicationManifest.xml 中提到的 ServiceManifestName 同名。此名称是特定的,因此请确保您的名称正确。您必须构建 sfproj 才能将 .dll 放入此文件夹。
  • ApplicationManifest.xml(文件)

这就是 Octopus Deploy 部署您的服务结构应用程序所需的全部内容。

我的方法如下:我在 Visual Studio 中打包了 Service Fabric 应用程序,我看到那里有一堆如上所述打包的特定文件。然后我手动将这个包上传到章鱼部署服务器并创建了一个 release/deploy。这很顺利,所以我从 CI 服务器收集了相同的文件并将其推送到 Octopus Deploy 并且成功了。