Multiple tentacles on a single machine

Hi,

I’ve been asked an interesting question today regarding deployment. We deploy a number of services and sites to a single machine and the Tentacle by default places these all under a single (configurable) folder. However, for various reasons (mostly that I don’t agree with, but that’s another story!) there is a need to have some sites installed under one parent folder, and others in a different folder. While this might be an odd request, I figured the easy way to achieve this would be by spinning up another Tentacle on the same box, configured on a different port and with different Packages.InstallDirectory set - my only problem is that I can’t seem to convince the second Tentacle to install as a service, is there a way to achieve this?

Thanks,
John

Hi John,

One of the items on the Octopus Trello board is to be able to specify the deployment path per package as a variable - so you could have a configuration like this:

Deploy package A to machine 1
    Path = C:\App\ABC
Deploy package A to machine 1
    Path = C:\App\XYZ

As far as installing the service twice on one machine, it’s not currently possible (the code to register the service makes assumptions about the service name). I added an item to Trello to make it possible to specify a custom name:

https://trello.com/board/octopus/4e907de70880ba000079b75c

Paul

Is this done?

Can we install multiple tentacles?

Cheers,
Ears.

Hi Graeme,

You can only install the Tentacle service once, but it is now “environment aware” - a different directory will be created per environment, so that packages for multiple environments can be deployed to a single machine.

Paul

Paul,
Cheers for the info, we are using a tentacle to update databases, the tentacle runs on a intermediate server that connects to the database. We were hoping to run each tentacle with an account that has access to the single server instance that it needs access to, giving each tentacle service a separate account was one approach we’re considering.

So installing multiple services, each running under a different account was one suggestion.

We’ll probably have a tentacle for each environment, and have to run each on a separate VM

Cheers again,
Graeme.

Did you ever get around to implementing this?

Hi Robert,

Partially - there’s a deploy-package command that you can use with a portable Tentacle, but there’s a lot more we’d like to add to this feature someday.

Paul

You say: "You can only install the Tentacle service once, but it is now “environment aware”

I take that to mean that a machine may be in more than on Environment on the Octopus Server, and when a deployment to one of those environment is invoked, the Tentacle on that machine will recognize the Environment, and use a Homedirectory specific to that Environment.

Do I understand that correctly? If so, where to set the Home directory per environment?

Details: We deploy the same site for several clients. Each of these sites runs from a client specific folder on the same machine as others, so the home directory would be different for each. So, we would like the DEPLOY to tell the TENTACLE what the Home Directory is at deploy time. And alternative might be to make a single Home directory, and place each client’s site in a subdirectory of a single home, or use relative paths to go up the tree then back down, but we would prefer the former.

Thank you in advance.

Hi Richard - the environment is used as a subdirectory within the applications folder, so can’t be varied per environment in this way.

One option might be to use the Custom Installation Directory feature, and use scoped variables to define where that directory should be.

Hope this helps,
Nick