\staging\ApplicationManifest.xml' because it does not exist. Service Fabric deployment

Hi team,

I’m trying to use the native Step template for Service Fabric deployments. Up till now we used a script for that and it has been working fine but I would like to switch over tot the native SF deployment step template.

Our nuget package content is a s follows:

/ApplicationParameters/
/Commerce.Managemnt.Api.Host/
    /ManagementApiHost/
    /ApplicationManifest.xml
/PublishProfiles/
/Scripts/

Reading the documentation the package structure should be like this:

/ApplicationParamaters/
/PublishProfiles/
/YourService1/
/YourService2/
/ApplicationManifest.xml

How can I overwrite the the actual application’s folder location? I would prefer not to change our build and package process.

Thank you!
Janis

Hi Janis,

Thanks for getting in touch.

In cases like this, you can override the default powershell script that gets run by Calamari during the Service Fabric deployment (see the “Customising the deployment process” section of this documentation).

If you take a look at the script that the documentation references, you can search for “ApplicationManifest” and customise this line (as needed for your specific package structure):

$ManifestFilePath = "$ApplicationPackagePath\ApplicationManifest.xml"

Keep in mind though, if you do override this script, you’ll no longer be using the default script bundled with Calamari, so you’ll need to keep an eye on Octopus release notes moving forward (in case we make changes to the Service Fabric deployment process). If you see any “Service Fabric” release notes, we’d recommend re-downloading this script and re-customising.

Let me know how you go.

Cheers
Mark

Hi Mark,
Thank you for the advice! That’s exactly what I thought that I will need to amend the script. Better to change the nuget package that we create in the build process.