We create the Offline deployment package (Offline Package Drop Deployment target).
The result package was copied to machine with Powershell v2.
After the start executing Offline PS script we received parsing exception:
`PS D:\19.1.682.1> & '.\Production Application Box.Application.Deployments-1455.ps1’
The string starting:
At D:\19.1.682.1\Production Application Box.Application.Deployments-1455.ps1:23 char:324
"-sensitiveVariables=" looks suspicious. Why do we need equal sign…
Could you please check this potential defect?
Also there is next line in this file: $PasswordArg="-sensitiveVariablesPassword="""+ $Password + ""
Why do we need to add empty string in the end? May be it’s necessary to add some symbol here?
Also could you please suggest some workaround until the fix of the issue will be published? According ot the first look i could be replacing “-sensitiveVariables=” to "-sensitiveVariables " (change the equal sign to space), but this should be checked.
Hi Octopus folks,
Were you guys able to reproduce/investigate this issue? Right now we’re modifying the generated scripts manually each time we are doing deployments. Since we’ve actively dev’ing them we’re doing that quite often.
Thanks!
Thanks for reaching out. I wasn’t able to reproduce this error when running a simple deployment with sensitive variables. I’m gonna pass this ticket to our Dev team so they can take a look at it during their daytime (they are located in Australia). We’ll update this ticket as soon as we find something.
Digging into this a little further, there looks like there are a couple other things not quite right as well…
In the *.ps1 file, there is a section, similar to this:
-sensitiveVariables="Variables\variables.secret"
The = after the parameter name is not required. It should simply be a space. After correcting this, I was able to get the *.ps1 to run correctly, however, then it immediately fails with the error:
Unable to parse sensitive-variables as valid JSON
Can you please provide some assistance on how to move forward with this.
In a previous deployment, using Octopus 3.0.x, I didn’t have these issues.
How can I tell what version of Calamari is contained within the deployment package? How does File Version 510.0.0.0 map to the Octopus Version number?
The reason that I ask is that I have just debugged the source code for Calamari from here:
And the decrypting of my sensitive file worked exactly as I expected it would, so not sure why the packaged Calamari that was created as part of my deployment isn’t working.
I am happy to say that I have now been able to get a successful deployment, using the packaged deployment from Octopus 3.1.4. I have attached a redacted deployment ps1 file of the original generated one, and the modified version that works. The only thing that had to be removed was the = sign on each of the calls to calamari.exe.
However, I am slightly confused as to what is going on here, as I didn’t have to remove the = from the line which is setting the $PasswordArg variable, and also, as it currently stands, the $PasswordArg variable contains -sensitiveVariablesPassword="PasswordNOTE the lack of " at the end.
In all honesty, I have no idea how/why this is actually working, but at least it is. Can we get this included in a new release of Octopus so that I don’t have to manually edit the files before doing the deployment?
I had exactly the same problem on a Windows 2008 R2 server with Powershell V2 - I corrected the scripts as described above (which was a great help = thanks!) and it solved my problem. I hope this issue gets resolved soon as it is not ideal to have to edit the script every time a new release is applied.
Hi guys,
A fix for this should go out in the next release 3.2.2 in the coming few days. Looks like this was a niche environmental case that we just weren’t testing for.
There were a few security updates in 3.1 to ensure that sensitive variables were more securely encrypted which is why this problem didn’t exist in 3.0.
Keep an eye out for the new release and give us a yell if you notice any other problems pop up.
Cheers,
Rob
Hi Igor,
We provide information about minor release updates regularly in our blog which you can subscribe to via our RSS Feed. As for the incremental builds, your Octopus Deploy server should itself be aware of available updates and there should be a small bullhorn icon in the top right hand corner of the menu that lets you know of new builds as soon they are released. These releases are built such that you can just install over the top of the old one and get going with your deployments.
Let us know if you encounter any problems with the upgrade process and we’d be more than happy to help.
Cheers,
Robert
Yes, I have seen the bullhorn icon within the Octopus Deploy dashboard, however, since our deployments are automated from TeamCity, I am not in that dashboard as much as I am in the TeamCity build status page. Is there nowhere else to get notifications about patch releases of Octopus?
Ok, thanks for getting back to me. I would have liked to have seen this available somewhere that I wouldn’t have to manually check for it, but I can live with that. Thanks!