Update of package_deploy script.
Summary: Add --skip-deploy parameter to release/package_deploy script. Packaged file renaming. Reviewers: teon.banek, mferencevic Reviewed By: teon.banek Subscribers: pullbot, buda Differential Revision: https://phabricator.memgraph.io/D459
This commit is contained in:
parent
4b358ec02e
commit
418bbea69d
@ -4,7 +4,7 @@ FROM ubuntu:16.04
|
||||
# FROM debian:jessie-slim # doesn't work because CXXABI_1.3.9 & GLIBCXX_3.4.21 not found
|
||||
# FROM debian:jessie # doesn't work because CXXABI_1.3.9 & GLIBCXX_3.4.21 not found
|
||||
|
||||
ENV MEMGRAPH_CONFIG /memgraph/config/memgraph
|
||||
ENV MEMGRAPH_CONFIG /memgraph/config/memgraph.conf
|
||||
|
||||
ARG build_name
|
||||
|
||||
|
@ -6,7 +6,7 @@
|
||||
function print_help () {
|
||||
echo "Usage: $0 [OPTION] --version MAJOR.MINOR.PATCH"
|
||||
echo "Optional arguments:"
|
||||
echo -e " --h|--help Print help."
|
||||
echo -e " -h|--help Print help."
|
||||
echo -e " --skip-compile Skip compilation process."
|
||||
echo -e " --build-type CMAKE_BUILD_TYPE options are: Debug|Release|RelWithDebInfo|MinSizeRel|Coverage|None (default is Debug)."
|
||||
echo -e " --config-file Memgraph config file name (default is testing.conf)"
|
||||
@ -91,6 +91,6 @@ echo "Full build name: ${exe_name}" > ${release_folder}/build.info
|
||||
echo "${version}" > ${release_folder}/VERSION
|
||||
# copy binary & config
|
||||
cp ${project_dir}/build/${exe_name} ${release_folder}/memgraph
|
||||
cp ${project_dir}/config/${config_file} ${release_folder}/config/memgraph
|
||||
cp ${project_dir}/config/${config_file} ${release_folder}/config/memgraph.conf
|
||||
|
||||
echo "Memgraph Build ${exe_name} DONE"
|
||||
|
@ -3,7 +3,14 @@
|
||||
# Build, Package (docker image) & Deploy Memgraph
|
||||
|
||||
function print_help () {
|
||||
echo "Usage: $0 [-h|--help] -s|--server deploy_server_domain -u|--user username -k|--key private_user_key --version X.Y.Z [--skip-compile]"
|
||||
echo "Usage: $0 [OPTION] --version MAJOR.MINOR.PATCH"
|
||||
echo "Optional arguments:"
|
||||
echo -e " -h|--help Print help."
|
||||
echo -e " --skip-compile Skip compilation process."
|
||||
echo -e " --skip-deploy Skip deployment process."
|
||||
echo -e " -s|--server Deployment server address. -|"
|
||||
echo -e " -u|--user Deployment server user. -| -> Required if deployment isn't skipped."
|
||||
echo -e " -k|--key Deployment server SSH key. -|"
|
||||
}
|
||||
|
||||
working_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
@ -12,6 +19,7 @@ project_dir="${working_dir}/.."
|
||||
# argument parsing
|
||||
required_args_no=0
|
||||
skip_compile=false
|
||||
skip_deploy=false
|
||||
version=0
|
||||
while [[ $# -gt 0 ]]
|
||||
do
|
||||
@ -38,6 +46,9 @@ do
|
||||
--skip-compile)
|
||||
skip_compile=true
|
||||
;;
|
||||
--skip-deploy)
|
||||
skip_deploy=true
|
||||
;;
|
||||
--version)
|
||||
version=$2
|
||||
required_args_no=$((required_args_no+1))
|
||||
@ -49,21 +60,40 @@ do
|
||||
esac
|
||||
shift # past argument or value
|
||||
done
|
||||
if [[ ${required_args_no} -ne 4 ]]; then
|
||||
|
||||
# arguments validation
|
||||
# version validation (semantic versioning)
|
||||
if [[ ! ${version} =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
|
||||
echo -e "Something is wrong with your version number. Semantic version number is required (MAJOR.MINOR.PATCH).\n"
|
||||
print_help
|
||||
exit -1
|
||||
exit 1
|
||||
fi
|
||||
# validate --skip-deploy, --version, --server, --user, --key
|
||||
if [[ "${skip_deploy}" == false ]]; then
|
||||
if [[ ${required_args_no} -ne 4 ]]; then
|
||||
print_help
|
||||
exit 1
|
||||
fi
|
||||
else # if deploy is skipped server, user and key are not required
|
||||
if [[ ${required_args_no} -ne 1 ]]; then
|
||||
print_help
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "Deploy server: ${deploy_server}"
|
||||
echo "Deploy user: ${deploy_user}"
|
||||
echo "Deploy key: ${deploy_key}"
|
||||
echo "Skip compile: ${skip_compile}"
|
||||
echo "Skip deploy: ${skip_deploy}"
|
||||
if [[ "${skip_deploy}" == false ]]; then
|
||||
echo "Deploy server: ${deploy_server}"
|
||||
echo "Deploy user: ${deploy_user}"
|
||||
echo "Deploy key: ${deploy_key}"
|
||||
fi
|
||||
|
||||
## build binary
|
||||
if [[ "${skip_compile}" == true ]]; then
|
||||
${working_dir}/build_interpreter --skip-compile --version ${version}
|
||||
else
|
||||
${working_dir}/build_interpreter --version ${version}
|
||||
${working_dir}/build_interpreter --build-type Release --version ${version}
|
||||
fi
|
||||
|
||||
## build package (docker image)
|
||||
@ -76,11 +106,13 @@ docker_image_name=$(echo "${package_name}"| tr '[:upper:]' '[:lower:]')
|
||||
docker build -t ${docker_image_name} -f ${working_dir}/alpha.dockerfile --build-arg build_name=${package_name} .
|
||||
docker save ${docker_image_name} > ${docker_image_name}.tar.gz
|
||||
|
||||
## deploy
|
||||
# copy package
|
||||
scp -i ${deploy_key} ${docker_image_name}.tar.gz ${deploy_user}@${deploy_server}:/home/${deploy_user}
|
||||
# load package
|
||||
ssh -i ${deploy_key} ${deploy_user}@${deploy_server} docker load -i /home/${deploy_user}/${docker_image_name}.tar.gz
|
||||
# spin up the instance
|
||||
public_port=$(echo ${package_name} | grep -o "memgraph_[0-9]*_" | sed 's/[^0-9]*//g')
|
||||
ssh -i ${deploy_key} ${deploy_user}@${deploy_server} docker run -d --name ${docker_image_name} -p ${public_port}:7687 ${docker_image_name}
|
||||
if [[ "${skip_deploy}" == false ]]; then
|
||||
## deploy
|
||||
# copy package
|
||||
scp -i ${deploy_key} ${docker_image_name}.tar.gz ${deploy_user}@${deploy_server}:/home/${deploy_user}
|
||||
# load package
|
||||
ssh -i ${deploy_key} ${deploy_user}@${deploy_server} docker load -i /home/${deploy_user}/${docker_image_name}.tar.gz
|
||||
# spin up the instance
|
||||
public_port=$(echo ${package_name} | grep -o "memgraph_[0-9]*_" | sed 's/[^0-9]*//g')
|
||||
ssh -i ${deploy_key} ${deploy_user}@${deploy_server} docker run -d --name ${docker_image_name} -p ${public_port}:7687 ${docker_image_name}
|
||||
fi
|
||||
|
Loading…
Reference in New Issue
Block a user