Problem with Nuget package deployment on Linux


I have installed mono on RedHat EL6.7 according to the instructions here:

The tentacle passes the health check but fails on nuget doyment with the following error:
System.TypeLoadException: A type load exception has occurred.

Here is the log output:
Server version: 3.2.6+Branch.master.Sha.61f0c2f50db3f40f7bd0a9032ad73491f81fda14 | == Failed: Deploy Test release 0.0.13 to UAT ==
08:28:50 Verbose | Guided failure is not enabled for this task
08:28:53 Fatal | The deployment failed because one or more steps failed. Please see the deployment log for details.
| == Failed: Acquire packages ==
08:28:50 Info | Acquiring packages
08:28:50 Info | Making a list of packages to download
08:28:50 Verbose | Checking package cache for package BogusPackage 1.0.0
08:28:50 Verbose | Package BogusPackage version 1.0.0 was found in cache. No need to download. Using file: C:\Octopus\OctopusServer\PackageCache\feeds-linux-nugets\BogusPackage.1.0.0_CA206FA3E88DE847B69CD5E857964FA4.nupkg
08:28:50 Verbose | SHA1 hash of package BogusPackage is: 2ca2a65f4659bf3d97a54bc0c580cd0fea49d164
08:28:52 Fatal | The step failed: One or more child activities failed.
08:28:52 Verbose | Acquire Packages completed
| Failed:
08:28:52 Verbose | Disposing SFTP connection…
08:28:52 Verbose | Disposing SSH connection…
08:28:52 Fatal | The remote script failed with exit code 100
| Running: Upload package BogusPackage 1.0.0
08:28:50 Verbose | Requesting upload…
08:28:50 Verbose | Establishing SSH connection…
08:28:50 Verbose | SSH connection established
08:28:51 Info | Beginning streaming transfer of to .octopus\OctopusServer\Work\20151130072850-29
08:28:51 Verbose | Establishing SFTP connection…
08:28:51 Verbose | SSFTP connection established
08:28:51 Info | Stream transfer complete
08:28:52 Verbose | Octopus Deploy: Calamari version 3.1.17+Branch.master.Sha.e2ac114d279a8f2d8b656ac62e5cbe67e904effb
08:28:52 Error | System.TypeLoadException: A type load exception has occurred.
08:28:52 Error | at Calamari.Integration.FileSystem.PackageStore.GetPackage (Calamari.Integration.Packages.PackageMetadata metadata) [0x00000] in :0
08:28:52 Error | at Calamari.Commands.FindPackageCommand.Execute (System.String[] commandLineArguments) [0x00000] in :0
08:28:52 Error | at Calamari.Program.Execute (System.String[] args) [0x00000] in :0
| Cancelled: Step 1: Test
08:28:52 Verbose | Step “Test” runs only when all previous steps succeeded; skipping

Do any of you have a solution for this?

Hi Christopher,

Thanks for getting in touch! This looks like a compatibility issue. I’d like to confirm some things with you that will help us determine the next steps to take:

  • which version of mono have you actually installed on that server?
  • is the work folder still intact, and can you send the contents of the folder?

Depending on what happens, I will need to send you a custom build of Calamari that will help us discover which type is failing to load, and why - that trace isn’t giving us enough specific information.

Look forward to hearing back from you!

Hi Mike,

Many thanks for getting back to us.
We worked this out late last night and it seems to have been an issue with our mono build.
We did a new step by step build yesterday using a clean RHEL6.7 install and it seems to work fine now.

Many thanks for reaching out to us though. :slight_smile:

Best regards,

Hi Christopher,

Great news. Thanks for getting back to let me know you’re up and running.

By the way, have you taken a look at some of our proposals for making linux deployments easier? One that comes to mind is supporting different package formats which will help work around some performance issues we’ve seen with NuGet on Mono.

Happy Deployments!