MaxScale/BUILD/mdbci/remote_build.sh
2018-03-29 15:51:36 +03:00

80 lines
1.9 KiB
Bash
Executable File

#!/bin/bash
# Copyies stuff to VM, run build on VM and copies binaries
# to $pre_repo_dir/$target/$box
set -x
rm -rf $pre_repo_dir/$target/$box
mkdir -p $pre_repo_dir/$target/SRC
mkdir -p $pre_repo_dir/$target/$box
export work_dir="MaxScale"
export orig_image=$box
ssh $sshopt "sudo rm -rf $work_dir"
echo "copying stuff to $image machine"
ssh $sshopt "mkdir -p $work_dir"
rsync -avz --delete -e "ssh $scpopt" ${script_dir}/../../ $sshuser@$IP:./$work_dir/
if [ $? -ne 0 ] ; then
echo "Error copying stuff to $box machine"
exit 2
fi
export install_script="install_build_deps.sh"
if [ "$box_type" == "RPM" ] ; then
build_script="build_rpm_local.sh"
files="*.rpm"
tars="$product_name*.tar.gz"
else
build_script="build_deb_local.sh"
files="../*.deb"
tars="$product_name*.tar.gz"
fi
export remote_build_cmd="export already_running=\"$already_running\"; \
export build_experimental=\"$build_experimental\"; \
export cmake_flags=\"$cmake_flags\"; \
export work_dir=\"$work_dir\"; \
export platform=\"$platform\"; \
export platform_version=\"$platform_version\"; \
export source=\"$source\"; \
export BUILD_TAG=\"$BUILD_TAG\"; \
"
if [ "$already_running" != "ok" ]
then
echo "install packages on $image"
ssh $sshopt "$remote_build_cmd ./MaxScale/BUILD/$install_script"
installres=$?
if [ $installres -ne 0 ]
then
exit $installres
fi
$HOME/mdbci/mdbci snapshot take --path-to-nodes $box --snapshot-name clean
else
echo "already running VM, not installing deps"
fi
echo "run build on $box"
ssh $sshopt "$remote_build_cmd ./MaxScale/BUILD/$build_script"
if [ $? -ne 0 ] ; then
echo "Error build on $box"
exit 4
fi
echo "copying binaries to the '$pre_repo_dir/$target/$box'"
scp $scpopt $sshuser@$IP:$work_dir/$files $pre_repo_dir/$target/$box/
scp $scpopt $sshuser@$IP:$work_dir/$tars $pre_repo_dir/$target/$box/
echo "package building for '$target' for '$platform' '$platform_version' done!"