run-remote: better directory structure on remote

This commit is contained in:
Sebastian Kuzminsky 2025-09-04 17:02:27 -06:00
parent c312f6a3ff
commit 0ebd17d6f0

View file

@ -3,11 +3,24 @@
IMAGE="$1"
shift
TARGET="$1"
REMOTE="$1"
shift
IMAGE_BASENAME=$(basename "${IMAGE}")
docker save -o "/tmp/${IMAGE_BASENAME}" "${IMAGE}"
rsync -av --progress "/tmp/${IMAGE_BASENAME}" "${IMAGE}/run.sh" "${TARGET}:/tmp"
ssh "${TARGET}" docker load -i "/tmp/${IMAGE_BASENAME}"
ssh -t "${TARGET}" /tmp/run.sh $@
DIR="/tmp/docker-devtools/infrastructure/${IMAGE}"
mkdir -p "${DIR}"
# Save the docker image, transfer it and the per-image run script to remote.
docker save -o "${DIR}/image.tar" "${IMAGE}"
cp "${IMAGE}/run.sh" "${DIR}"
ssh "${REMOTE}" mkdir -p "docker-devtools/infrastructure/${IMAGE}"
rsync -av --progress "${DIR}/" "${REMOTE}:docker-devtools/infrastructure/${IMAGE}"
# Load docker image on remote.
ssh "${REMOTE}" docker load -i "docker-devtools/infrastructure/${IMAGE}/image.tar"
# Create data dir on remote and run image on remote.
ssh -t "${REMOTE}" " \
mkdir -p docker-devtools/data/${IMAGE}; \
cd docker-devtools/data/${IMAGE}; \
\$HOME/docker-devtools/infrastructure/${IMAGE}/run.sh \
" $@