Use scp for production provisioning script transfer
CI / test (push) Canceled after 0s

This commit is contained in:
2026-09-12 23:04:26 +02:00
parent 64f11e4960
commit b87aa0aa17
+3 -1
View File
@@ -156,8 +156,10 @@ PRODUCTION_BUILD_DIR = ./bin/${PRODUCTION_GOOS}_${PRODUCTION_GOARCH}
production_target = ${PRODUCTION_SSH_USER}@${PRODUCTION_HOST}
production_ssh_options = -p ${PRODUCTION_SSH_PORT}
production_scp_options = -P ${PRODUCTION_SSH_PORT}
ifneq ($(strip ${PRODUCTION_SSH_IDENTITY_FILE}),)
production_ssh_options += -i ${PRODUCTION_SSH_IDENTITY_FILE}
production_scp_options += -i ${PRODUCTION_SSH_IDENTITY_FILE}
endif
.PHONY: production/check-config
@@ -179,7 +181,7 @@ production/connect: production/check-config
production/provision: production/check-config
@test -f ./remote/setup/.env || { echo 'Copy remote/setup/.env.example to remote/setup/.env and configure it first' >&2; exit 1; }
@permissions=$$(stat -c '%a' ./remote/setup/.env); (( (8#$$permissions & 077) == 0 )) || { echo 'remote/setup/.env must have mode 0600' >&2; exit 1; }
rsync -P -e "ssh ${production_ssh_options}" ./remote/setup/provision-server.sh ${production_target}:/tmp/gardomatic-provision-server.sh
scp ${production_scp_options} ./remote/setup/provision-server.sh ${production_target}:/tmp/gardomatic-provision-server.sh
ssh ${production_ssh_options} ${production_target} 'status=0; chmod 700 /tmp/gardomatic-provision-server.sh && /tmp/gardomatic-provision-server.sh --env-file - || status=$$?; rm -f /tmp/gardomatic-provision-server.sh; exit $$status' < ./remote/setup/.env
## production/deploy: deploy API and web to production