Craftsman at Work

I'm Artur Karbone, coding software architect and independent IT consultant and this is my blog about craftsmanship, architecture, distributed systems, management and much more.

Learn Octopus Deploy Part 3: Octopus Tentacle Installation

Octopus Tentacle is an agent which is installed on the target machines. Octopus Deploy server knows how to talk to these agents or tentacles and deploy artifacts to them. Installation/configuration is quite straightforward again. Just download latest bits from here https://octopus.com/downloads and click Next->Next->Next:

alt

  • Configure storage: directories for logs and applications (packages sent to this tentacle will be stored out there):

alt

  • Communication style depends on your network topology. If tentacles are accessible from Octopus server then Listening mode is preferred, meaning Octopus Server will notify the agents (tentacles) that some new bits are available.

  • When Octopus Server can't reach a tentacle, choose Polling mode. In this mode the tentacle is going to ask the Server periodically, whether it has something new: alt

  • Now let's setup listening port and a thumbprint. Since the server and the tentacle communicate via SSL, they need to exchange their thumbprints. Requests with wrong thumbprints will be simply rejected: alt

  • To figure out Octopus Server thumbprint go to Configuration-> Thumbprint: alt

  • When setup is finished let's open Tentacle Manager. From out there we can start/stop/restart/reinstall/add new tentacle instance: alt

Anything you can do in Octopus Deploy via UI is scriptable and automatable. For instance all the steps described above could be scriptable (btw. installer generates these scripts for you) like this:

Tentacle.exe create-instance --instance "Tentacle" --config "C:\Octopus\Tentacle.config"

Tentacle.exe new-certificate --instance "Tentacle" --if-blank

Tentacle.exe configure --instance "Tentacle" --reset-trust

Tentacle.exe configure --instance "Tentacle" --app "C:\Octopus\Applications" --port "10933" --noListen "False"

Tentacle.exe configure --instance "Tentacle" --trust "3C41CD961FAF4A8482148F8B4769F6BA60C9A115"  
"netsh" advfirewall firewall add rule "name=Octopus Deploy Tentacle" dir=in action=allow protocol=TCP localport=10933

Tentacle.exe service --instance "Tentacle" --install --stop --start  
comments powered by Disqus