46 lines
926 B
YAML
46 lines
926 B
YAML
name: 파일 전송
|
|
description: 로컬 파일 또는 디렉터리를 원격 서버로 전송
|
|
|
|
inputs:
|
|
host:
|
|
required: true
|
|
port:
|
|
required: false
|
|
default: "22"
|
|
user:
|
|
required: true
|
|
key-path:
|
|
required: false
|
|
default: ""
|
|
source:
|
|
required: true
|
|
target:
|
|
required: true
|
|
recursive:
|
|
required: false
|
|
default: "true"
|
|
|
|
runs:
|
|
using: composite
|
|
steps:
|
|
- shell: bash
|
|
run: |
|
|
set -eu
|
|
|
|
KEY_PATH="${{ inputs.key-path }}"
|
|
if [ -z "$KEY_PATH" ]; then
|
|
KEY_PATH="$HOME/.ssh/deploy_key"
|
|
fi
|
|
|
|
SCP_OPTIONS=""
|
|
if [ "${{ inputs.recursive }}" = "true" ]; then
|
|
SCP_OPTIONS="-r"
|
|
fi
|
|
|
|
scp $SCP_OPTIONS \
|
|
-P "${{ inputs.port }}" \
|
|
-i "$KEY_PATH" \
|
|
-o IdentitiesOnly=yes \
|
|
"${{ inputs.source }}" \
|
|
"${{ inputs.user }}@${{ inputs.host }}:${{ inputs.target }}"
|