Files
commonDeploy/file-transfer/action.yml

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 }}"