mirror of
https://ghproxy.net/https://github.com/appleboy/scp-action.git
synced 2025-05-01 20:43:54 +00:00
- Improve and clarify input descriptions for better usability and understanding - Add guidance on defaults, security considerations, and example values in several input descriptions - Reword descriptions to be more user-friendly and precise throughout configuration Signed-off-by: appleboy <appleboy.tw@gmail.com>
143 lines
5.9 KiB
YAML
143 lines
5.9 KiB
YAML
name: "SCP Command to Transfer Files"
|
|
description: "Easily transfer files and folders using the SCP command in Linux."
|
|
author: "Bo-Yi Wu"
|
|
inputs:
|
|
host:
|
|
description: "Remote host address for SCP (e.g., example.com or 192.168.1.1)."
|
|
port:
|
|
description: "Remote SSH port for SCP. Default: 22."
|
|
default: "22"
|
|
username:
|
|
description: "Username for SSH authentication."
|
|
password:
|
|
description: "Password for SSH authentication (not recommended; use SSH keys if possible)."
|
|
protocol:
|
|
description: "IP protocol to use. Valid values: 'tcp', 'tcp4', or 'tcp6'. Default: tcp."
|
|
default: "tcp"
|
|
timeout:
|
|
description: "Timeout for establishing SSH connection to the remote host. Default: 30s."
|
|
default: "30s"
|
|
command_timeout:
|
|
description: "Timeout for the SCP command execution. Default: 10m."
|
|
default: "10m"
|
|
key:
|
|
description: "Content of the SSH private key (e.g., the raw content of ~/.ssh/id_rsa)."
|
|
key_path:
|
|
description: "Path to the SSH private key file."
|
|
passphrase:
|
|
description: "Passphrase for the SSH private key, if required."
|
|
fingerprint:
|
|
description: "SHA256 fingerprint of the host's public key. If not set, host key verification is skipped (not recommended for production)."
|
|
use_insecure_cipher:
|
|
description: "Enable additional, less secure ciphers for compatibility. Not recommended unless required."
|
|
target:
|
|
description: "Target directory path on the remote server. Must be a directory."
|
|
source:
|
|
description: "List of files or directories to transfer (local paths)."
|
|
rm:
|
|
description: "Remove the target directory on the server before uploading new data."
|
|
debug:
|
|
description: "Enable debug messages for troubleshooting."
|
|
strip_components:
|
|
description: "Remove the specified number of leading path elements when extracting files."
|
|
overwrite:
|
|
description: "Use the --overwrite flag with tar to overwrite existing files."
|
|
tar_dereference:
|
|
description: "Use the --dereference flag with tar to follow symlinks."
|
|
tar_tmp_path:
|
|
description: "Temporary path for the tar file on the destination host."
|
|
tar_exec:
|
|
description: "Path to the tar executable on the destination host. Default: tar."
|
|
default: "tar"
|
|
proxy_host:
|
|
description: "Remote host address for SSH proxy."
|
|
proxy_port:
|
|
description: "SSH proxy port. Default: 22."
|
|
default: "22"
|
|
proxy_username:
|
|
description: "Username for SSH proxy authentication."
|
|
proxy_password:
|
|
description: "Password for SSH proxy authentication."
|
|
proxy_passphrase:
|
|
description: "Passphrase for the SSH proxy private key, if required."
|
|
proxy_timeout:
|
|
description: "Timeout for establishing SSH connection to the proxy host. Default: 30s."
|
|
default: "30s"
|
|
proxy_key:
|
|
description: "Content of the SSH proxy private key (e.g., the raw content of ~/.ssh/id_rsa)."
|
|
proxy_key_path:
|
|
description: "Path to the SSH proxy private key file."
|
|
proxy_fingerprint:
|
|
description: "SHA256 fingerprint of the proxy host's public key. If not set, host key verification is skipped (not recommended for production)."
|
|
proxy_use_insecure_cipher:
|
|
description: "Enable additional, less secure ciphers for the proxy connection. Not recommended unless required."
|
|
curl_insecure:
|
|
description: "When true, uses the --insecure option with curl for insecure downloads."
|
|
default: "false"
|
|
capture_stdout:
|
|
description: "When true, captures and returns standard output from the commands as action output."
|
|
default: "false"
|
|
version:
|
|
description: |
|
|
The version of drone-scp to use.
|
|
|
|
outputs:
|
|
stdout:
|
|
description: "Standard output of the executed commands when capture_stdout is enabled."
|
|
value: ${{ steps.entrypoint.outputs.stdout }}
|
|
|
|
runs:
|
|
using: "composite"
|
|
steps:
|
|
- name: Set GitHub Path
|
|
run: echo "$GITHUB_ACTION_PATH" >> $GITHUB_PATH
|
|
shell: bash
|
|
env:
|
|
GITHUB_ACTION_PATH: ${{ github.action_path }}
|
|
- id: entrypoint
|
|
name: Run entrypoint.sh
|
|
run: entrypoint.sh
|
|
shell: bash
|
|
env:
|
|
GITHUB_ACTION_PATH: ${{ github.action_path }}
|
|
INPUT_HOST: ${{ inputs.host }}
|
|
INPUT_PORT: ${{ inputs.port }}
|
|
INPUT_PROTOCOL: ${{ inputs.protocol }}
|
|
INPUT_USERNAME: ${{ inputs.username }}
|
|
INPUT_PASSWORD: ${{ inputs.password }}
|
|
INPUT_PASSPHRASE: ${{ inputs.passphrase }}
|
|
INPUT_KEY: ${{ inputs.key }}
|
|
INPUT_KEY_PATH: ${{ inputs.key_path }}
|
|
INPUT_FINGERPRINT: ${{ inputs.fingerprint }}
|
|
INPUT_PROXY_HOST: ${{ inputs.proxy_host }}
|
|
INPUT_PROXY_PORT: ${{ inputs.proxy_port }}
|
|
INPUT_PROXY_USERNAME: ${{ inputs.proxy_username }}
|
|
INPUT_PROXY_PASSWORD: ${{ inputs.proxy_password }}
|
|
INPUT_PROXY_PASSPHRASE: ${{ inputs.proxy_passphrase }}
|
|
INPUT_PROXY_KEY: ${{ inputs.proxy_key }}
|
|
INPUT_PROXY_KEY_PATH: ${{ inputs.proxy_key_path }}
|
|
INPUT_PROXY_FINGERPRINT: ${{ inputs.proxy_fingerprint }}
|
|
INPUT_USE_INSECURE_CIPHER: ${{ inputs.use_insecure_cipher }}
|
|
INPUT_CIPHER: ${{ inputs.cipher }}
|
|
INPUT_PROXY_USE_INSECURE_CIPHER: ${{ inputs.proxy_use_insecure_cipher }}
|
|
INPUT_PROXY_CIPHER: ${{ inputs.proxy_cipher }}
|
|
INPUT_DEBUG: ${{ inputs.debug }}
|
|
INPUT_TIMEOUT: ${{ inputs.timeout }}
|
|
INPUT_COMMAND_TIMEOUT: ${{ inputs.command_timeout }}
|
|
INPUT_TARGET: ${{ inputs.target }}
|
|
INPUT_SOURCE: ${{ inputs.source }}
|
|
INPUT_RM: ${{ inputs.rm }}
|
|
INPUT_STRIP_COMPONENTS: ${{ inputs.strip_components }}
|
|
INPUT_OVERWRITE: ${{ inputs.overwrite }}
|
|
INPUT_TAR_DEREFERENCE: ${{ inputs.tar_dereference }}
|
|
INPUT_TAR_TMP_PATH: ${{ inputs.tar_tmp_path }}
|
|
INPUT_TAR_EXEC: ${{ inputs.tar_exec }}
|
|
INPUT_PROXY_TIMEOUT: ${{ inputs.proxy_timeout }}
|
|
INPUT_CAPTURE_STDOUT: ${{ inputs.capture_stdout }}
|
|
INPUT_CURL_INSECURE: ${{ inputs.curl_insecure }}
|
|
DRONE_SCP_VERSION: ${{ inputs.version }}
|
|
|
|
branding:
|
|
icon: "copy"
|
|
color: "gray-dark"
|