Compare commits

..

10 Commits

Author SHA1 Message Date
smf
da89c9d375 fix 2024-03-08 14:53:50 +08:00
smf
c97c12fe31 if condition chech 2024-03-08 12:22:22 +08:00
smf
41312167bd file name split 2024-03-08 00:46:35 +08:00
smf
68681ffeca file name split 2024-03-08 00:36:34 +08:00
smf
c50ba42637 file name split 2024-03-08 00:34:26 +08:00
smf
1e27f0fa61 file name split 2024-03-07 23:49:33 +08:00
smf
33fd7b88b9 check 2024-03-07 23:24:51 +08:00
smf
4cebe358c2 check 2024-03-07 23:24:03 +08:00
smf
de6097bdf3 check 2024-03-07 23:11:13 +08:00
smf
2f7a0b4cc6 check 2024-03-07 23:08:14 +08:00

View File

@@ -15,11 +15,6 @@ if [ -z "${INPUT_REMOTE_DOCKER_USER+x}" ]; then
exit 1
fi
# if [ -z "${INPUT_SSH_PUBLIC_KEY+x}" ]; then
# echo "Input ssh_public_key is required!"
# exit 1
# fi
if [ -z "${INPUT_SSH_PRIVATE_KEY+x}" ]; then
echo "Input ssh_private_key is required!"
exit 1
@@ -30,12 +25,16 @@ if [ -z "${INPUT_ARGS+x}" ]; then
exit 1
fi
if ! [ -z "${INPUT_DEPLOY_PATH+x}" ]; then
CHANGE_DIR=true
if [ -z "${INPUT_DEPLOY_PATH+x}" ]; then
CHANGE_DIR=false
fi
if $CHANGE_DIR ; then
echo "Change working directory"
echo "Current: `pwd`"
echo "Target: $INPUT_DEPLOY_PATH"
mkdir -p $INPUT_DEPLOY_PATH
cp -rfp ./* $INPUT_DEPLOY_PATH/ || true
cp -rfp ./. $INPUT_DEPLOY_PATH
cd $INPUT_DEPLOY_PATH
fi
@@ -50,16 +49,13 @@ mkdir -p ~/.ssh
ls ~/.ssh
printf '%s\n' "$INPUT_SSH_PRIVATE_KEY" > ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
# printf '%s\n' "$INPUT_SSH_PUBLIC_KEY" > ~/.ssh/id_rsa.pub
# chmod 600 ~/.ssh/id_rsa.pub
#chmod 600 "~/.ssh"
eval $(ssh-agent)
ssh-add ~/.ssh/id_rsa
# echo "Add known hosts"
# ssh-keyscan -p $INPUT_REMOTE_DOCKER_PORT "$INPUT_REMOTE_DOCKER_HOST" >> ~/.ssh/known_hosts
# ssh-keyscan -p $INPUT_REMOTE_DOCKER_PORT "$INPUT_REMOTE_DOCKER_HOST" >> /etc/ssh/ssh_known_hosts
SSH_PROXY=true
if [ -z "${INPUT_SSH_PROXY_CMD+x}" ]; then
SSH_PROXY=false
fi
echo "Add REMOTE_DOCKER_HOST alias to ~/.ssh/config"
touch ~/.ssh/config
echo >> ~/.ssh/config
@@ -70,25 +66,23 @@ echo " Port $INPUT_REMOTE_DOCKER_PORT" >> ~/.ssh/config
echo " IdentityFile ~/.ssh/id_rsa" >> ~/.ssh/config
echo " StrictHostKeyChecking no" >> ~/.ssh/config
echo " UserKnownHostsFile /dev/null" >> ~/.ssh/config
if ! [ -z "${INPUT_SSH_PROXY_CMD+x}" ]; then
if $SSH_PROXY ; then
echo "Add ProxyCommand: $INPUT_SSH_PROXY_CMD"
echo " ProxyCommand $INPUT_SSH_PROXY_CMD" >> ~/.ssh/config
fi
echo >> ~/.ssh/config
chmod 600 ~/.ssh/config
# echo "docker -v"
# echo `docker -v`
# echo "docker-compose -v"
# echo `docker-compose -v`
set context
echo "Create docker context"
docker context create remote --docker "host=ssh://REMOTE_DOCKER_HOST"
docker context use remote
sleep 1h
if ! [ -z "${INPUT_DOCKER_REGISTRY_USERNAME+x}" ] && ! [ -z "${INPUT_DOCKER_REGISTRY_PASSWORD+x}" ]; then
DOCKER_REGISTRY_LOGIN=true
if [ -z "${INPUT_DOCKER_REGISTRY_USERNAME+x}" ] || [ -z "${INPUT_DOCKER_REGISTRY_PASSWORD+x}" ]; then
DOCKER_REGISTRY_LOGIN=false
fi
if $DOCKER_REGISTRY_LOGIN ; then
echo "Connecting to $INPUT_DOCKER_REGISTRY_URI... Command: docker login"
echo "$INPUT_DOCKER_REGISTRY_PASSWORD" | docker login -u "$INPUT_DOCKER_REGISTRY_USERNAME" --password-stdin "$INPUT_DOCKER_REGISTRY_URI"
fi
@@ -98,13 +92,23 @@ if ! [ -z "${INPUT_DOCKER_PRUNE+x}" ] && [ $INPUT_DOCKER_PRUNE = 'true' ] ; then
fi
DEPLOYMENT_COMMAND="docker --log-level=debug compose"
if ! [ -z "${INPUT_STACK_FILE_NAME+x}" ]; then
DEPLOYMENT_COMMAND="$DEPLOYMENT_COMMAND -f $INPUT_STACK_FILE_NAME"
STACK_FILE=true
if [ -z "${INPUT_STACK_FILE_NAME+x}" ]; then
STACK_FILE=false
fi
if $STACK_FILE ; then
DEPLOYMENT_COMMAND="$DEPLOYMENT_COMMAND -f ${INPUT_STACK_FILE_NAME//,/ -f }"
fi
if ! [ -z "${INPUT_ENV_FILE_NAME+x}" ]; then
DEPLOYMENT_COMMAND="$DEPLOYMENT_COMMAND --env-file $INPUT_ENV_FILE_NAME"
ENV_FILE=true
if [ -z "${INPUT_ENV_FILE_NAME+x}" ]; then
ENV_FILE=false
fi
if $ENV_FILE ; then
DEPLOYMENT_COMMAND="$DEPLOYMENT_COMMAND --env-file ${INPUT_ENV_FILE_NAME//,/ --env-file }"
fi
# DEPLOYMENT_COMMAND_OPTIONS=""
echo "Connecting to $INPUT_REMOTE_DOCKER_HOST... Command: ${DEPLOYMENT_COMMAND} ${INPUT_ARGS}"