2020-11-14 21:27:16 +00:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
set -e
|
2020-11-14 22:11:03 +00:00
|
|
|
set -o pipefail
|
2020-11-14 21:27:16 +00:00
|
|
|
|
|
|
|
PLUGIN_SOURCE=${PLUGIN_SOURCE:-.}
|
|
|
|
PLUGIN_HOST=${PLUGIN_HOST:-swarm.autonomic.zone}
|
|
|
|
PLUGIN_PORT=${PLUGIN_PORT:-222}
|
|
|
|
PLUGIN_USER=${PLUGIN_USER:-drone}
|
|
|
|
|
|
|
|
PLUGIN_DEST=${PLUGIN_DEST:?dest is not set}
|
|
|
|
|
|
|
|
REMOTE_DOCKER_HOST="ssh://$PLUGIN_USER@$PLUGIN_HOST:$PLUGIN_PORT"
|
|
|
|
|
|
|
|
load_deploy_key() {
|
|
|
|
echo "--- start ssh key load ---"
|
|
|
|
mkdir -p "$HOME/.ssh/"
|
|
|
|
ssh-keyscan -p "$PLUGIN_PORT" "$PLUGIN_HOST" >> "$HOME/.ssh/known_hosts"
|
|
|
|
|
|
|
|
# shellcheck disable=SC2046,SC2006
|
|
|
|
eval `ssh-agent`
|
|
|
|
echo "$PLUGIN_DEPLOY_KEY" | ssh-add -
|
|
|
|
echo "--- end ssh key load ---"
|
|
|
|
}
|
|
|
|
|
|
|
|
output_versions(){
|
|
|
|
echo "--- start versions"
|
|
|
|
docker version
|
|
|
|
echo "--- end versions"
|
|
|
|
}
|
|
|
|
|
|
|
|
run_docker_cp() {
|
|
|
|
echo "--- start deploy ---"
|
|
|
|
CONTAINER=$(docker -H "$REMOTE_DOCKER_HOST" container ls \
|
|
|
|
--format "table {{.ID}},{{.Names}}" \
|
|
|
|
| grep "${PLUGIN_SERVICE}" | cut -d',' -f1)
|
2020-11-14 21:39:12 +00:00
|
|
|
if [ -z "$CONTAINER" ]; then
|
2020-11-14 21:27:16 +00:00
|
|
|
echo "ERROR: can't find container for $PLUGIN_SERVICE"
|
|
|
|
return 1
|
|
|
|
fi
|
2020-11-14 22:13:55 +00:00
|
|
|
echo "Copying $PLUGIN_SOURCE"
|
2020-11-14 22:10:33 +00:00
|
|
|
# shellcheck disable=SC2086
|
2020-11-14 22:13:55 +00:00
|
|
|
tar cf - $PLUGIN_SOURCE | tar t
|
|
|
|
# shellcheck disable=SC2086
|
|
|
|
tar cf - $PLUGIN_SOURCE | docker -H "$REMOTE_DOCKER_HOST" cp - $CONTAINER:$PLUGIN_DEST
|
2020-11-14 21:27:16 +00:00
|
|
|
echo "--- end deploy ---"
|
|
|
|
}
|
|
|
|
|
|
|
|
run_plugin() {
|
|
|
|
echo "--- start docker-cp-deploy ---"
|
|
|
|
load_deploy_key
|
|
|
|
output_versions
|
|
|
|
|
|
|
|
run_docker_cp
|
|
|
|
|
|
|
|
echo "--- end docker-cp-deploy ---"
|
|
|
|
}
|
|
|
|
|
|
|
|
run_plugin
|