Compare commits
2 commits
5160db3212
...
bd4da76485
Author | SHA1 | Date | |
---|---|---|---|
bd4da76485 | |||
408ca30608 |
2 changed files with 16 additions and 6 deletions
11
action.yml
11
action.yml
|
@ -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'
|
||||
|
|
|
@ -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"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue