Install Octopus Tentacle on Windows Deployment Targets

Each node that will be a deployment target needs to have a tentacle agent installed.

  1. First, Install .Net 4.5 framework.
  2. Install tentacle MSI from http://octopus.com/downloads/
  3. The Tentacle Setup Wizard should launch after the setup is complete.
  4. For “Storage”, Accept the defaults, then click “Next”.
  5. Choose “Listening Tentacle”, and then click “Next”.
  6. Accept the default Listen port and add the server thumbprint from the server (Configuration –> Certificates) page.
  7. Click Next, then click “Install”
  8. When the setup wizard completes, Click Add deployment target back in the server UI for the the appropriate environment.
    • Click “Listening Tentacle” for Target Type.
    • Type the hostname of the deployment target.
    • Click Discover
    • On Settings, Give the deployment target a meaningful name such as web01 or app01 as appropiate for the role.
    • For Roles, type the appropiate role for the target. Examples are: web, app, api, db, and service
  9. Repeat for remaining deployment targets.

I typically use this script to install the Tentacles:

$DeployDirectory = "D:\"
$Thumbprint = Read-Key "Enter Octopus Server Thumbprint"
###########################################################################
# Install Octopus Tentacle
$url = "https://octopus.com/downloads/latest/OctopusTentacle64"
$downloadPath = "$env:TEMP\octopus\"
 
if (Test-Path $downloadPath) {
    Remove-Item -Path $downloadPath -Recurse -Force
}
 
New-Item -Type Directory -Path $downloadPath | Out-Null
 
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::Tls12
(New-Object System.Net.WebClient).DownloadFile($url, "$downloadPath\Octopus.Tentacle.msi")
 
& "$downloadPath\Octopus.Tentacle.msi" /passive
 
while ((Get-Process | where { $_.ProcessName -eq 'msiexec' } | Measure-Object).Count -ne 1) {
    Start-Sleep -Seconds 1
}
 
Write-Output "Octopus Tentacle Installed."
 
###########################################################################
# Configure Octopus Tentacle
 
Push-Location "C:\Program Files\Octopus Deploy\Tentacle"
 
& .\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" --home "C:\Octopus" `
    --app "$DeployDirectory " --port "10933" --noListen "False"
& .\Tentacle.exe configure --instance "Tentacle" --trust $Thumbprint
 
netsh.exe advfirewall firewall add rule "name=Octopus Deploy Tentacle" `
    dir=in action=allow protocol=TCP localport=10933
 
& .\Tentacle.exe service --instance "Tentacle" --install --start
 
Pop-Location
 
Write-Output "Octopus Tentacle Configured. You will need to Add this server to Octopus:"
$fqdn = (Get-WmiObject win32_computersystem).DNSHostName+"."+(Get-WmiObject win32_computersystem).Domain
Write-Output "   * $fqdn"