From c97c12fe31596227e58e3709c2aa2cfe4f4bd6f0 Mon Sep 17 00:00:00 2001 From: smf Date: Fri, 8 Mar 2024 12:22:22 +0800 Subject: [PATCH] if condition chech --- docker-entrypoint.sh | 50 ++++++++++++++++++++++++-------------------- 1 file changed, 27 insertions(+), 23 deletions(-) diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh index 3db7966..0ee8876 100755 --- a/docker-entrypoint.sh +++ b/docker-entrypoint.sh @@ -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,7 +25,11 @@ 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" @@ -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=ture +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 + +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 +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}"