SSHExec

open class SSHExec : BuildStep

An SSH Exec build step.

Example. Adds an SSH Exec build step with custom port and Uploaded key authentication method.

buildType {
// Other Build Type settings ...
steps {
// Other Build Steps ...
        sshExec {
name = "My SSH Exec build step"
commands = """
command1
command2
""".trimIndent()
targetUrl = "8.8.8.8"
port = 2222
authMethod = uploadedKey {
username = "username"
passphrase = "credentialsJSON:******"
key = "id_rsa"
}
}
}
}

Example. Adds an SSH Exec build step with Default private key authentication method.

buildType {
// Other Build Type settings ...
steps {
// Other Build Steps ...
        sshExec {
name = "My SSH Exec build step"
commands = """
command1
command2
""".trimIndent()
targetUrl = "8.8.8.8"
authMethod = defaultPrivateKey {
username = "username"
passphrase = "credentialsJSON:******"
}
}
}
}

Example. Adds an SSH Exec build step with pty enabled and Custom private key authentication method.

buildType {
// Other Build Type settings ...
steps {
// Other Build Steps ...
        sshExec {
name = "My SSH Exec build step"
pty = "vt100"
commands = """
command1
command2
""".trimIndent()
targetUrl = "8.8.8.8"
authMethod = customPrivateKey {
keyFile = "path/to/key/file"
username = "username"
passphrase = "credentialsJSON:******"
}
}
}
}

Example. Adds an SSH Exec build step with Password authentication method.

buildType {
// Other Build Type settings ...
steps {
// Other Build Steps ...
        sshExec {
name = "My SSH Exec build step"
commands = """
command1
command2
""".trimIndent()
targetUrl = "8.8.8.8"
authMethod = password {
username = "username"
password = "credentialsJSON:******"
}
}
}
}

Example. Adds an SSH Exec build step with SSH-Agent authentication method. This build step will run even if some previous build steps are failed.

buildType {
// Other Build Type settings ...
steps {
// Other Build Steps ...
        sshExec {
name = "My SSH Exec build step"
executionMode = BuildStep.ExecutionMode.RUN_ON_FAILURE
commands = """
command1
command2
""".trimIndent()
targetUrl = "8.8.8.8"
authMethod = sshAgent {
username = "username"
}
}
}
}

See also

Constructors

Link copied to clipboard
constructor(init: SSHExec.() -> Unit)
constructor()

Types

Link copied to clipboard

Properties

Link copied to clipboard

An SSH authentication method.

Link copied to clipboard

Specify a new-line delimited set of commands that will be executed in the remote shell. The remote shell will be started in the home directory of an authenticated user. The shell output will be available in the TeamCity build log.

Link copied to clipboard

Optional collection of build step execution conditions

Link copied to clipboard

Specifies whether the step is enabled, true by default

Link copied to clipboard
Link copied to clipboard
var id: String?

Optional id of the step. Usually the id is not required, however if a build configuration inherits from a template and wants to override a build step defined there, then both steps should have the same id.

Link copied to clipboard

Build step name

Link copied to clipboard
Link copied to clipboard
var port: Int?

Optional. Default value: 22.

Link copied to clipboard
var pty: String?

Optional. Specify the type of the pty terminal. For example, "vt100". If empty, pty will not be allocated (default).

Link copied to clipboard

Target url in form {hostname|ip_address}:path/to/target/folder.

Link copied to clipboard
var timeout: Int?

Optional. Default value (seconds): 60 (0 - disable timeout).

Link copied to clipboard

Build step type

Functions

Link copied to clipboard
fun booleanParameter(customName: String? = null, trueValue: String? = "true", falseValue: String? = "false"): DelegateProvider<Boolean?>
Link copied to clipboard
fun clear()
Link copied to clipboard

Deletes all configured build step conditions

Link copied to clipboard
fun <T : CompoundParam<T>> compoundParameter(customName: String? = null): DelegateProvider<T>
Link copied to clipboard
Link copied to clipboard
fun <T : Parametrized> copyParamsTo(target: T): T

Copies parameters of this object to the specified target

Link copied to clipboard
open fun create(): BuildStep

Creates an instance of this build step via reflection using a no argument constructor, used during copying. Throws an error if this class doesn't have a default constructor. Subclasses can override it to create an instance without using a default constructor.

Link copied to clipboard

Will try to perform private key authentication using the given public key file with given passphrase.

Link copied to clipboard

Will try to perform private key authentication using the ~/.ssh/config settings. If no settings file exists, will try to use the ~/.ssh/rsa_pub public key file.

Link copied to clipboard
fun doubleParameter(customName: String? = null): DelegateProvider<Double>
Link copied to clipboard
fun <E : Enum<E>> enumParameter(customName: String? = null, mapping: Map<E, String?>? = null): DelegateProvider<E>
Link copied to clipboard
fun findRawParam(paramName: String): Parameter?
Link copied to clipboard
fun hasParam(paramName: String): Boolean
Link copied to clipboard
fun intParameter(customName: String? = null): DelegateProvider<Int>
Link copied to clipboard
fun param(name: String, value: String)

Adds parameter with specified name and value

Link copied to clipboard

Simple password authentication.

Link copied to clipboard
fun removeRawParam(paramName: String)
Link copied to clipboard

Use ssh-agent for authentication, the SSH-Agent build feature must be enabled.

Link copied to clipboard
open fun stringParameter(customName: String? = null): DelegateProvider<String>
Link copied to clipboard
open override fun toString(): String
Link copied to clipboard

Uses the key(s) uploaded to the project.

Link copied to clipboard
open override fun validate(consumer: ErrorConsumer)

Validates this object and reports found errors to the provided consumer