kickstart/lib/kickstart-deploy

39 lines
751 B
Plaintext
Raw Normal View History

2014-02-20 16:19:43 +00:00
#!/bin/bash -e
2014-02-21 18:59:46 +00:00
[[ "$1" == "--sudo" ]] && prefix="sudo " && shift
[[ "$1" == "--password" ]] && shift && prefix="echo \"$1\" | sudo -S true && sudo " && shift
2014-02-21 18:59:46 +00:00
2014-02-20 16:19:43 +00:00
target=$1
[ "$target" ] || echo "Please, provide an ssh target"
shift
2014-02-22 00:14:39 +00:00
[ "$DEBUG" ] && debug="-x"
2014-02-21 18:59:46 +00:00
kickstart compile "$@"
copy_command=$(
2014-02-20 16:19:43 +00:00
cat <<CMD
{
deploy_folder=\$(mktemp -d -t kickstart.XXXXX)
mkdir -p "\$deploy_folder"
cd "\$deploy_folder"
2014-02-20 16:19:43 +00:00
tar xz
echo "\$deploy_folder"
}
CMD
)
deploy_folder=$(tar chz -C compile . | ssh $target "bash -c '$copy_command'")
execute_command=$(
cat <<CMD
{
cd $deploy_folder
exit_status=0
$prefix bash $debug install.sh || exit_status=\$?
rm -rf "$deploy_folder"
exit \$exit_status
}
2014-02-20 16:19:43 +00:00
CMD
)
ssh -t $target "bash -c '$execute_command'"