From d374cc82a76ad54f23faad58957e4ad8857a391b Mon Sep 17 00:00:00 2001 From: "kihwan.song" Date: Fri, 8 May 2026 11:43:27 +0900 Subject: [PATCH] =?UTF-8?q?=ED=8D=84=EC=9D=BC=EC=A0=84=EC=86=A1=20?= =?UTF-8?q?=EC=8A=A4=ED=81=AC=EB=A6=BD=ED=8A=B8=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- file-transfer/action.yml | 45 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 file-transfer/action.yml diff --git a/file-transfer/action.yml b/file-transfer/action.yml new file mode 100644 index 0000000..c71696d --- /dev/null +++ b/file-transfer/action.yml @@ -0,0 +1,45 @@ +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 }}"