Problem with ApplicationManifest path Service Fabric Deployment

(Pavel Tsjerenkov) #1

Hello,

My problem is described at item 6. I hope someone can help me with this.

  1. I have a TeamCity CI server which pushes the service fabric app in a zip to octopus. This goes well.
  2. My connection from octopus to the azure service fabric cluster is healthy.
  3. I make a release from de zip package in my project
  4. I Deploy the package. Acquire packages goes well
  5. Deploy step goes wrong
  6. It says the following in the logs: Deploying package: E:\Octopus\Packages\Spaces-1\feeds-builtin\xxSF\xxSF.1.0.0.225.zip

Get-Content : Cannot find path ‘C:\Octopus\Work\20190501091314-1918-1033\staging\ApplicationManifest.xml’ because it does not exist.

I do not understand where this path comes from, my guess is that this path is the place where the packages are. My ApplicationManifest.xml is in the zip package. Does anyone know what I have to do here?

PS: I Checked the RAW logs

I saw this:

Info | Deploying package: E:\Octopus\Packages\Spaces-1\feeds-builtin\xx\xx.1.0.0.225.zip
Verbose | Extracting package to: C:\Octopus\Work\20190501091314-1918-1033\staging
Verbose | Extracted 90 files
Verbose | Performing variable substitution on ‘C:\Octopus\Work\20190501091314-1918-1033\staging\packages.config’
Verbose | Performing variable substitution on ‘C:\Octopus\Work\20190501091314-1918-1033\staging\ApplicationPackageRoot\ApplicationManifest.xml’
Verbose | Performing variable substitution on ‘C:\Octopus\Work\20190501091314-1918-1033\staging\ApplicationParameters\Cloud.xml’
Verbose | Performing variable substitution on ‘C:\Octopus\Work\20190501091314-1918-1033\staging\ApplicationParameters\Local.1Node.xml’
Verbose | Performing variable substitution on ‘C:\Octopus\Work\20190501091314-1918-1033\staging\ApplicationParameters\Local.5Node.xml’
Verbose | Performing variable substitution on ‘C:\Octopus\Work\20190501091314-1918-1033\staging\PackageRoot\ServiceManifest.xml’
Verbose | Performing variable substitution on ‘C:\Octopus\Work\20190501091314-1918-1033\staging\PackageRoot\Config\Settings.xml’
Verbose | Performing variable substitution on ‘C:\Octopus\Work\20190501091314-1918-1033\staging\PublishProfiles\Cloud.xml’
Verbose | Performing variable substitution on ‘C:\Octopus\Work\20190501091314-1918-1033\staging\PublishProfiles\Local.1Node.xml’
Verbose | Performing variable substitution on ‘C:\Octopus\Work\20190501091314-1918-1033\staging\PublishProfiles\Local.5Node.xml’

Get-Content : Cannot find path ‘C:\Octopus\Work\20190501091314-1918-1033\staging\ApplicationManifest.xml’ because it
Error | does not exist.

It looks like it cannot find the subfolder staging\ApplicationPackageRoot, ApplicationManifest.xml is in this subfolder.

#3

Hi Pavel,

Thanks for getting in touch!

The issue here is that the ApplicationManifest.xml file is in the wrong directory in your package. As we state in our documentation around packaging a Service Fabric app there is a strict expected structure that is needed, specifically:

Once you have finished packaging, the package structure should look similar to the following, including an `ApplicationManifest.xml` file at the root, `ApplicationParameters` and `PublishProfiles` folders, plus folders for your services:

`/ApplicationParameters/ /PublishProfiles/ /YourService1/ /YourService2/ /ApplicationManifest.xml `

This structure includes the standard package output from Visual Studio (from a *Right-click > Publish* ) plus the `ApplicationParameters` and `PublishProfiles` folders taken from the Service Fabric project.

If you test with other tools with this package (including Right click > Publish in Visual Studio) you will find that they fail in a similar manner. If you can update you package to match the required structure this should resolve the problem you are having.

Any further questions please let me know!

Regards,
Alex

(Pavel Tsjerenkov) #4

Hi Alex,

Thanks for responding, I just saw your reply. This is indeed the solution I had already tried this and it worked. The structure is important.

Again thanks for answering my question. Octopus Deploy support is great and fast!

Regards,

Pavel

#5

Hi Pavel,

Happy to help, and glad to hear that you were able to get this working on your own!

If there is anything else we can help with please feel free to reach out.

Regards,
Alex