diff options
author | Tomáš Levora <t.levora@partner.samsung.com> | 2018-12-20 09:57:39 +0100 |
---|---|---|
committer | Tomáš Levora <t.levora@partner.samsung.com> | 2018-12-20 10:02:44 +0100 |
commit | 068d3eec94c9102d67b7c96816f1d90cb1821384 (patch) | |
tree | 196abe1ca52767643bac98179d44312e3fb501eb /bash | |
parent | 918c5707e29424bfdcf7e37cef3182cd3a8c8448 (diff) |
Add self-installer creation to bash installer
Adding script creating self-installer package
Issue-ID: OOM-1551
Change-Id: If10e12da440864c3d72ca9a5b1fc27d89256225a
Signed-off-by: Tomáš Levora <t.levora@partner.samsung.com>
Diffstat (limited to 'bash')
-rwxr-xr-x | bash/tools/create_si_onap_pkg.sh | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/bash/tools/create_si_onap_pkg.sh b/bash/tools/create_si_onap_pkg.sh new file mode 100755 index 00000000..759a1ebc --- /dev/null +++ b/bash/tools/create_si_onap_pkg.sh @@ -0,0 +1,88 @@ +#! /usr/bin/env bash + +# COPYRIGHT NOTICE STARTS HERE +# +# Copyright 2018 © Samsung Electronics Co., Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# COPYRIGHT NOTICE ENDS HERE + + +# fail fast +set -e + +# boilerplate +RELATIVE_PATH=./ # relative path from this script to 'common-functions.sh' +if [ "$IS_COMMON_FUNCTIONS_SOURCED" != YES ] ; then + SCRIPT_DIR=$(dirname "${0}") + LOCAL_PATH=$(readlink -f "$SCRIPT_DIR") + . "${LOCAL_PATH}"/"${RELATIVE_PATH}"/common-functions.sh +fi + +if [ -z "$1" ]; then + VERSION="RC3" + message info "no argument supplied, keeping default naming: $VERSION" +else + VERSION="$1" +fi + +# name of the self-extract-installer +TARGET_FILE="$APROJECT_DIR/selfinstall_onap_beijing_"$VERSION".sh" + +# inserting the head of the script +cat > "$TARGET_FILE" <<EOF +#! /usr/bin/env bash + +# +# This is self-extract installer for onap +# + +# fail fast +set -e + +# boilerplate +SCRIPT_DIR=\$(dirname "\${0}") +APROJECT_DIR=\$(readlink -f "\$SCRIPT_DIR") +IS_SELF_EXTRACT=YES + +EOF + +# splicing the scripts together +cat "${LOCAL_PATH}"/"${RELATIVE_PATH}"/common-functions.sh >> "$TARGET_FILE" +cat "${LOCAL_PATH}"/"${RELATIVE_PATH}"/deploy_nexus.sh >> "$TARGET_FILE" +cat "${LOCAL_PATH}"/"${RELATIVE_PATH}"/deploy_kube.sh >> "$TARGET_FILE" + +# finishing touches to the script +cat >> "$TARGET_FILE" <<EOF + +exit 0 + +# +# Installer script ends here +# The rest of this file is a binary payload +# ! DO NOT MODIFY IT ! +# + +# PAYLOAD BELOW # +EOF + +# appending the tar to the script +cd "$APROJECT_DIR" +tar -h --exclude='.git' --exclude='*.swp' --exclude='selfinstall_onap_*.sh' --exclude='ansible' --exclude='docker' --exclude='local_repo.conf' --exclude='live' -cvf - * >> "$TARGET_FILE" +cd - + +chmod 755 "$TARGET_FILE" +message info "Created Nexus self installation file: $TARGET_FILE" + +exit 0 |