Missing variables for an environment does not raise an error

It turns out that deploying using the “Custom install directory” feature does not care if a variable used during the deployment is actually defined for that environment, causing the tentacle to create a directory in the system32 directory e.g. system32/#{WebsitesPath}/

Limiting the tentacle user to certain directories is of course a good idea and it shouldn’t be able to write there in the first place, but is just treating the variable as a string if it can’t be found intended behaviour?

Hi Alex,

Thanks for getting in touch! For any variable we can’t resolve we keep the variable string (mostly for traceability, if it was taken out and replaced with nothing, it would break and you wouldn’t know why), and in this case without that string it would still fall to system32 if that part was blank, as no path has been given.
This should really only happen once, as it will error, and you will see that and be able to add the variable. We always suggest for variables that are fully scoped you keep one unscoped with a generic value, so in this case it would evaluate but put it somewhere wrong.

Hopefully that explains a little about the why.
Vanessa

This should really only happen once, as it will error, and you will see that and be able to add the variable.

The thing is that it did not raise an error during the deployment, see attached file.

Hi Alex,

You are right, it didn’t error in the deployment, and the deployment is marked successful.
There is a UserVoice suggestion that would help in this situation I think:


The ability to ‘run the deployment’ to see all of the variables and transforms without actually deploying the files would allow you to see this variable has not been evaluated.

Vanessa