Sftp
Downloads artifacts, files, and signatures from a SFTP server.
Configuration
Legend:
-
required
-
optional
-
may use environment variable
-
accepts Name Templates
#
download:
#
sftp:
# Downloaders require a name.
#
app:
# Enables or disables the downloader.
# Supported values are [`NEVER`, `ALWAYS`, `RELEASE`, `SNAPSHOT`].
# Defaults to `NEVER`.
#
active: ALWAYS
# Defines the connection timeout in seconds.
# Defaults to `20`.
#
connectTimeout: 20
# Defines the read timeout in seconds.
# Defaults to `60`.
#
readTimeout: 60
# Additional properties used when evaluating templates.
#
extraProperties:
# Key will be capitalized and prefixed with `sftp`, i.e, `sftpFoo`.
foo: bar
# Host where the SFTP service is enabled.
#
host: downloads.acme.com
# Port number of SFTP service.
# Defaults to `22`.
#
port: 22
# The username required for authorization.
#
username: __USE_ENVIRONMENT_VARIABLE__
# Password for login into the SFTP service.
#
password: __USE_ENVIRONMENT_VARIABLE__
# The public SSH key.
#
publicKey: __USE_ENVIRONMENT_VARIABLE__
# The private SSH key.
#
privateKey: __USE_ENVIRONMENT_VARIABLE__
# The passphrase required to read private keys.
#
passphrase: __USE_ENVIRONMENT_VARIABLE__
# The remote server's SSH fingerprint.
#
fingerprint: __USE_ENVIRONMENT_VARIABLE__
# A list of assets to be downloaded.
#
assets:
# Full download path to asset.
#
- input: '/logos/logo-256x256.png'
# Local path where asset will be downloaded to.
# Defaults to `#{jreleaser.downloadDirectory}/#{downloader.name}`.
#
output: '{{projectName}}.png'
# Unpack options
#
unpack:
# Unpack input archive when `true`.
# Defaults to `false`.
#
enabled: false
# Skip the archive's root entry from the unpacked directory when `true`.
# Defaults to `false`.
#
skipRootEntry: false
# Downloaders require a name.
#
[download.sftp.app]
# Enables or disables the downloader.
# Supported values are [`NEVER`, `ALWAYS`, `RELEASE`, `SNAPSHOT`].
# Defaults to `NEVER`.
#
active = "ALWAYS"
# Defines the connection timeout in seconds.
# Defaults to `20`.
#
connectTimeout = 20
# Defines the read timeout in seconds.
# Defaults to `60`.
#
readTimeout = 60
# Additional properties used when evaluating templates.
#
extraProperties.foo = "bar"
# Key will be capitalized and prefixed with `sftp`, i.e, `sftpFoo`.
# Host where the SFTP service is enabled.
#
host = "downloads.acme.com"
# Port number of SFTP service.
# Defaults to `port`.
#
port = 22
# The username required for authorization.
#
username = "__USE_ENVIRONMENT_VARIABLE__"
# Password for login into the SFTP service.
#
password = "__USE_ENVIRONMENT_VARIABLE__"
# The public SSH key.
#
publicKey = "__USE_ENVIRONMENT_VARIABLE__"
# The private SSH key.
#
privateKey = "__USE_ENVIRONMENT_VARIABLE__"
# The passphrase required to read private keys.
#
passphrase = "__USE_ENVIRONMENT_VARIABLE__"
# The remote server's SSH fingerprint.
#
fingerprint = "__USE_ENVIRONMENT_VARIABLE__"
# A list of assets to be downloaded.
#
[[dowload.sftp.app.assets]]
# Full download path to asset.
#
input = "/logos/logo-256x256.png"
# Local path where asset will be downloaded to.
# Defaults to `#{jreleaser.downloadDirectory}/#{downloader.name}`.
#
output = "{{projectName}}.png"
# Unpack input archive when `true`.
# Defaults to `false`.
#
unpack.enabled: false
# Skip the archive's root entry from the unpacked directory when `true`.
# Defaults to `false`.
#
unpack.skipRootEntry: false
{
//
"download": {
//
"sftp": {
// Downloaders require a name.
//
"app": {
// Enables or disables the downloader.
// Supported values are [`NEVER`, `ALWAYS`, `RELEASE`, `SNAPSHOT`].
// Defaults to `NEVER`.
//
"active": "ALWAYS",
// Defines the connection timeout in seconds.
// Defaults to `20`.
//
"connectTimeout": 20,
// Defines the read timeout in seconds.
// Defaults to `60`.
//
"readTimeout": 60,
// Additional properties used when evaluating templates.
//
"extraProperties": {
// Key will be capitalized and prefixed with `sftp`, i.e, `sftpFoo`.
"foo": "bar"
},
// Host where the SFTP service is enabled.
// If left unspecified, the `JRELEASER_SFTP_${name}_HOST`
// environment variable must be defined.
//
"host": "downloads.acme.com",
// Port number of SFTP service.
// If left unspecified, the `JRELEASER_SFTP_${name}_PORT`
// environment variable must be defined.
// Defaults to `22`.
//
"port": 22,
// The username required for authorization.
// If left unspecified, the `JRELEASER_SFTP_${name}_USERNAME`
// environment variable must be defined.
//
"username": "__USE_ENVIRONMENT_VARIABLE__",
// Password for login into the SFTP service.
// If left unspecified, the `JRELEASER_SFTP_${name}_PASSWORD`
// environment variable must be defined.
//
"password": "__USE_ENVIRONMENT_VARIABLE__",
// The public SSH key.
//
"publicKey": "__USE_ENVIRONMENT_VARIABLE__",
// The private SSH key.
//
"privateKey": "__USE_ENVIRONMENT_VARIABLE__",
// The passphrase required to read private keys.
//
"passphrase": "__USE_ENVIRONMENT_VARIABLE__",
// The remote server's SSH fingerprint.
//
"fingerprint": "__USE_ENVIRONMENT_VARIABLE__",
// A list of assets to be downloaded.
//
"assets": [
{
// Full download path to asset.
//
"input": "/logos/logo-256x256.png",
// Local path where asset will be downloaded to.
// Defaults to `#{jreleaser.downloadDirectory}/#{downloader.name}`.
//
"output": "{{projectName}}.png",
// Unpack options
//
"unpack": {
// Unpack input archive when `true`.
// Defaults to `false`.
//
"enabled": false,
// Skip the archive's root entry from the unpacked directory when `true`.
// Defaults to `false`.
//
"skipRootEntry": false
}
}
]
}
}
}
}
<jreleaser>
<!--
-->
<download>
<!--
-->
<sftp>
<!--
Downloaders require a name.
-->
<app>
<!--
Enables or disables the distribution.
Supported values are [`NEVER`, `ALWAYS`, `RELEASE`, `SNAPSHOT`].
Defaults to `NEVER`.
-->
<active>ALWAYS</active>
<!--
Defines the connection timeout in seconds.
Defaults to `20`.
-->
<connectTimeout>20</connectTimeout>
<!--
Defines the read timeout in seconds.
Defaults to `60`.
-->
<readTimeout>60</readTimeout>
<!--
Additional properties used when evaluating templates.
-->
<extraProperties>
<!--
Key will be capitalized and prefixed with `sftp`, i.e, `sftpFoo`.
-->
<foo>bar</foo>
</extraProperties>
<!--
Host where the SFTP service is enabled.
-->
<host>downloads.acme.com</host>
<!--
Port number of SFTP service.
Defaults to `22`.
-->
<port>22</port>
<!--
The username required for authorization.
-->
<username>__USE_ENVIRONMENT_VARIABLE__</username>
<!--
Password for login into the SFTP service.
-->
<password>__USE_ENVIRONMENT_VARIABLE__</password>
<!--
The public SSH key.
-->
<publicKey>__USE_ENVIRONMENT_VARIABLE__</publicKey>
<!--
The private SSH key.
-->
<privateKey>__USE_ENVIRONMENT_VARIABLE__</privateKey>
<!--
The passphrase required to read private keys.
-->
<passphrase>__USE_ENVIRONMENT_VARIABLE__</passphrase>
<!--
The remote server's SSH fingerprint.
-->
<fingerprint>__USE_ENVIRONMENT_VARIABLE__</fingerprint>
<!--
A list of assets to be downloaded.
-->
<assets>
<asset>
<!--
Full download path to asset.
-->
<input>/logos/logo-256x256.png</input>
<!--
Local path where asset will be downloaded to.
Defaults to `#{jreleaser.downloadDirectory}/#{downloader.name}`.
-->
<output>{{projectName}}.png</output>
<!--
Unpack options
-->
<unpack>
<!--
Unpack input archive when `true`.
Defaults to `false`.
-->
<enabled>false</enabled>
<!--
Skip the archive's root entry from the unpacked directory when `true`.
Defaults to `false`.
-->
<skipRootEntry>false</skipRootEntry>
</unpack>
</asset>
</assets>
</app>
</sftp>
</download>
</jreleaser>
jreleaser {
//
download {
//
sftp {
// Downloaders require a name.
//
app {
// Enables or disables the downloader.
// Supported values are [`NEVER`, `ALWAYS`, `RELEASE`, `SNAPSHOT`].
// Defaults to `NEVER`.
//
active = 'ALWAYS'
// Defines the connection timeout in seconds.
// Defaults to `20`.
//
connectTimeout = 20
// Defines the read timeout in seconds.
// Defaults to `60`.
//
readTimeout = 60
// Additional properties used when evaluating templates.
// Key will be capitalized and prefixed with `sftp`, i.e, `sftpFoo`.
//
extraProperties.put('foo', 'bar')
// Host where the SFTP service is enabled.
//
host = 'downloads.acme.com'
// Port number of SFTP service.
// Defaults to `22`.
//
port = 22
// The username required for authorization.
//
username = '__USE_ENVIRONMENT_VARIABLE__'
// Password for login into the SFTP service.
//
password = '__USE_ENVIRONMENT_VARIABLE__'
// The public SSH key.
//
publicKey = '__USE_ENVIRONMENT_VARIABLE__'
// The private SSH key.
//
privateKey = '__USE_ENVIRONMENT_VARIABLE__'
// The passphrase required to read private keys.
//
passphrase = '__USE_ENVIRONMENT_VARIABLE__'
// The remote server's SSH fingerprint.
//
fingerprint = '__USE_ENVIRONMENT_VARIABLE__'
// A list of assets to be downloaded.
//
asset {
// Full download path to asset.
//
input = '/logos/logo-256x256.png'
// Local path where asset will be downloaded to.
// Defaults to `#{jreleaser.downloadDirectory}/#{downloader.name}`.
//
output = '{{projectName}}.png'
// Unpack options
//
unpack {
// Unpack input archive when `true`.
// Defaults to `false`.
//
enabled = false
// Skip the archive's root entry from the unpacked directory when `true`.
// Defaults to `false`.
//
skipRootEntry = false
}
}
}
}
}
}
Environment
When not explicitly set, the value of the following properties may be resolved from an environment variable or a system property as shown in the table. The system property takes precedence over the environment variable.
System Property | Environment Variable |
---|---|
active |
|
jreleaser.download.sftp.${name}.active |
JRELEASER_DOWNLOAD_SFTP_${name}_ACTIVE |
host |
|
jreleaser.download.sftp.${name}.host |
JRELEASER_DOWNLOAD_SFTP_${name}_HOST |
port |
|
jreleaser.download.sftp.${name}.port |
JRELEASER_DOWNLOAD_SFTP_${name}_PORT |
username |
|
jreleaser.download.sftp.${name}.username |
JRELEASER_DOWNLOAD_SFTP_${name}_USERNAME |
password |
|
jreleaser.download.sftp.${name}.password |
JRELEASER_DOWNLOAD_SFTP_${name}_PASSWORD |
publicKey |
|
jreleaser.download.sftp.${name}.public.key |
JRELEASER_DOWNLOAD_SFTP_${name}_PUBLIC_KEY |
privateKey |
|
jreleaser.download.sftp.${name}.private.key |
JRELEASER_DOWNLOAD_SFTP_${name}_PRIVATE_KEY |
passphrase |
|
jreleaser.download.sftp.${name}.passphrase |
JRELEASER_DOWNLOAD_SFTP_${name}_PASSPHRASE |
fingerprint |
|
jreleaser.download.sftp.${name}.fingerprint |
JRELEASER_DOWNLOAD_SFTP_${name}_FINGERPRINT |
Substitute ${name} for the value of the named instance. |
Space (' '), underscore (_
), and dash (-
) will be replaced by dot (.
) to separate tokens in the System property.
Space (' '), dash (-
), and dot (.
) will be replaced by underscore (_
) to separate tokens in the environment variable,
such that:
${name} | System Property | Environment Variable |
---|---|---|
foobar |
|
|
fooBar |
|
|
foo bar |
|
|
foo-bar |
|
|
foo_bar |
|
|
foo.bar |
|
|