Compare commits

..

2 commits

Author SHA1 Message Date
bd4da76485 allow auto extarct 2024-12-12 22:26:05 -06:00
408ca30608 fix rm when none 2024-12-12 22:16:06 -06:00
2 changed files with 16 additions and 6 deletions

View file

@ -1,9 +1,9 @@
name: 'SCP deploy action'
name: 'SCP Deploy Smart'
description: 'Action to send dist files to a remote server with scp command'
author: 'Fabricio Nogueira'
author: 'Fabricio Nogueira & Jackz'
inputs:
src:
description: 'Sorce dir to deploy'
description: 'Source dir to deploy'
required: true
host:
description: 'SSH address'
@ -14,7 +14,7 @@ inputs:
port:
description: 'SSH Port'
required: false
default: 22
default: "22"
user:
description: 'SSH User name'
required: true
@ -24,6 +24,9 @@ inputs:
options:
description: 'Extra options for scp'
required: false
extract:
description: 'Is src a tar file to be extracted?'
required: false
runs:
using: 'docker'
image: 'Dockerfile'

View file

@ -15,10 +15,17 @@ echo "Local Path: ${INPUT_SRC}"
echo "Remote Path: ${INPUT_REMOTE}"
echo "Commit: ${COMMIT_SHA}"
if [[ -z "$INPUT_EXTRACT"]]; then
# SCP normal files
scp -o StrictHostKeyChecking=no -v -i __TEMP_INPUT_KEY_FILE \
-P "${INPUT_PORT}" $INPUT_OPTIONS -r ${INPUT_SRC} "${INPUT_USER}"@"${INPUT_HOST}":"${INPUT_REMOTE}/${COMMIT_SHA}"
elif
# Untar directly via SSh
ssh -o StrictHostKeyChecking=no -v -i __TEMP_INPUT_KEY_FILE \
"${INPUT_USER}"@"${INPUT_HOST}" -p "${INPUT_PORT}" \
-C "mkdir ${INPUT_REMOTE}/${COMMIT_SHA} && cd ${INPUT_REMOTE}/${COMMIT_SHA} && tar -xvv" < $INPUT_SRC
fi
echo "File transfer complete. Symlinking and purging old entries"
ssh -o StrictHostKeyChecking=no -v -i __TEMP_INPUT_KEY_FILE \
"${INPUT_USER}"@"${INPUT_HOST}" -p "${INPUT_PORT}" \
-C "ln -s ${INPUT_REMOTE}/${COMMIT_SHA} ${INPUT_REMOTE}/latest && find ${INPUT_REMOTE} -mindepth 1 -maxdepth 1 -type d -not -path './latest' | tail -n +5 | xargs rm -r"
-C "ln -s ${INPUT_REMOTE}/${COMMIT_SHA} ${INPUT_REMOTE}/latest && find ${INPUT_REMOTE} -mindepth 1 -maxdepth 1 -type d -not -path './latest' | tail -n +5 | xargs --no-run-if-empty rm -r"