Files
ci-actions/docker-build-push/update.sh

37 lines
1.3 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
: "${INPUT_GIT_SERVER_URL:?missing INPUT_GIT_SERVER_URL}"
: "${INPUT_GIT_REPOSITORY:?missing INPUT_GIT_REPOSITORY}"
: "${INPUT_GIT_SHA:?missing INPUT_GIT_SHA}"
: "${INPUT_GIT_USER:?missing INPUT_GIT_USER}"
: "${INPUT_GIT_TOKEN:?missing INPUT_GIT_TOKEN}"
: "${INPUT_REGISTRY:?missing INPUT_REGISTRY}"
: "${INPUT_REGISTRY_USER:?missing INPUT_REGISTRY_USER}"
: "${INPUT_REGISTRY_TOKEN:?missing INPUT_REGISTRY_TOKEN}"
: "${INPUT_IMAGE_NAME:?missing INPUT_IMAGE_NAME}"
: "${INPUT_IMAGE_TAG:?missing INPUT_IMAGE_TAG}"
: "${INPUT_CONTEXT:?missing INPUT_CONTEXT}"
: "${INPUT_DOCKERFILE:?missing INPUT_DOCKERFILE}"
: "${INPUT_REMOTE_DOCKER_SSH_HOST:?missing INPUT_REMOTE_DOCKER_SSH_HOST}"
: "${INPUT_REMOTE_DOCKER_SSH_PORT:-22}"
: "${INPUT_REMOTE_DOCKER_SSH_USERNAME:?missing INPUT_REMOTE_DOCKER_SSH_USERNAME}"
: "${INPUT_REMOTE_DOCKER_SSH_KEY:?missing INPUT_REMOTE_DOCKER_SSH_KEY}"
keyfile="$(mktemp)"
knownhosts="$(mktemp)"
trap 'rm -f "$keyfile" "$knownhosts"' EXIT
printf '%s\n' "$INPUT_REMOTE_DOCKER_SSH_KEY" > "$keyfile"
chmod 600 "$keyfile"
ssh -i "$keyfile" \
-p "${INPUT_REMOTE_DOCKER_SSH_PORT}" \
-o BatchMode=yes \
-o IdentitiesOnly=yes \
-o StrictHostKeyChecking=no \
-o UserKnownHostsFile=/dev/null \
-T "${INPUT_REMOTE_DOCKER_SSH_USERNAME}@${INPUT_REMOTE_DOCKER_SSH_HOST}"