Before you can configure your SSH deployment targets, they must meet the requirements for a Linux server and the following additional requirements:
- It must be accessible through SSH and SFTP (See creating an SSH Key Pair).
Bash startup files
When connecting to a target over SSH, the Octopus Server connects then executes the script via the /bin/bash
command to ensure it is running with a bash shell (and not the default terminal shell for that user). Any login scripts that you wish to run should therefore be put into the .bashrc
script file since this is invoked for non-login shells.
For example, with targets on a Mac the default $PATH variable may be missing /usr/sbin
. This can be added in the .bashrc
script with the line:
PATH=$PATH:/usr/sbin
If the .bashrc
file doesn’t already exist, create it in the user folder of the user that is connecting to the Max OSX instance. If the remote user is called octopus
, then this file will be located at /Users/octopus/.bashrc
.
See the Bash Reference Manual, section 6.2 Bash Startup Files for more information about startup scripts.
.NET
Calamari is the command-line tool that is invoked to perform the deployment steps on the deployment target. It runs on .NET and is built as a .NET Core self-contained distributable.
Since it is self-contained, .NET Core does not need to be installed on the target server. However, there are still some pre-requisite dependencies required for .NET Core itself that must be installed.
Python
Octopus can execute Python scripts on SSH targets provided the following criteria are met:
- Python is version 3.4+
- Python3 is on the path for the SSH user executing the deployment
- pip is installed or the pycryptodome python package is installed
Learn more
- Configure your SSH deployment targets
- Linux blog posts
Help us continuously improve
Please let us know if you have any feedback about this page.
Page updated on Friday, March 22, 2024