From b83e8a916a333927f2aea4bcb530eb1edbcad8fe Mon Sep 17 00:00:00 2001 From: kaloyane <kaloyane> Date: Wed, 2 Mar 2011 21:27:56 +0000 Subject: [PATCH] minor: added a script to build a sprint from an already existing tag SVN: 20210 --- openbis_all/source/bash/build.sh | 110 +++++++++++++++++++++++++++++++ 1 file changed, 110 insertions(+) create mode 100755 openbis_all/source/bash/build.sh diff --git a/openbis_all/source/bash/build.sh b/openbis_all/source/bash/build.sh new file mode 100755 index 00000000000..82a157249f4 --- /dev/null +++ b/openbis_all/source/bash/build.sh @@ -0,0 +1,110 @@ +#!/bin/bash +# Builds the software components, uploads them to sprint server +# and places a copy of them on the sprint server ready for installation. + +if [ $# -lt 1 ]; then + echo "Usage: $0 <sprint number> [minor]" + exit 1 +fi + +TODAY=`date "+%Y-%m-%d"` +VER=$1 +SUBVER=0 +if [ $2 ]; then + SUBVER=$2 +fi +FULL_VER=S$VER.$SUBVER +SPRINT_SERVER=sprint-openbis.ethz.ch +SPRINT_INSTALL_SCRIPT=sprint_install.sh + +# Unset this to do a dry-run (like rsync -n) and set it to actually execute the commands +# unset EXECUTE_COMMANDS +EXECUTE_COMMANDS=1 + +function state_start { + echo "----------------------------------------------------------------------" + echo -n "| " + echo $1 + echo "" +} + +function state_end { + echo "\ -----------------------------------" + echo "" +} + +function setup { + state_start Setup + echo "svn checkout svn+ssh://svncisd.ethz.ch/repos/cisd/build_resources/trunk build_resources" + if [ $EXECUTE_COMMANDS ]; then + svn checkout svn+ssh://svncisd.ethz.ch/repos/cisd/build_resources/trunk build_resources + fi + + echo "cd build_resources" + if [ $EXECUTE_COMMANDS ]; then + cd build_resources + fi + state_end +} + +function build { + state_start "Building openBIS..." + + echo "./build.sh openbis_all $FULL_VER" + if [ $EXECUTE_COMMANDS ]; then + ./build.sh openbis_all $FULL_VER + fi + state_end +} + +function copy_to_cisd_server { + state_start "Copying new openBIS components to sprint-builds'..." + + if [ $EXECUTE_COMMANDS ]; then + + OPENBIS_PATH=~openbis/fileserver/sprint_builds/openBIS + SPRINT_DIR=$OPENBIS_PATH/$TODAY-$FULL_VER + mkdir -p $SPRINT_DIR + cp -p *.zip $SPRINT_DIR/ + chmod g+w -R $SPRINT_DIR + fi + state_end +} + +function copy_to_sprint_server { + state_start "Copying new openBIS components to '$SPRINT_SERVER'..." + + if [ $EXECUTE_COMMANDS ]; then + scp openBIS-server-S*.zip $SPRINT_SERVER:. + scp datastore_server-S*.zip $SPRINT_SERVER:. + scp *.zip $SPRINT_SERVER:~/sprint_builds + rm -f *.zip + fi + state_end +} + +function install_sprint { + # If sprint install script is present and executable, run it! + if [ $EXECUTE_COMMANDS ]; then + if [ -x $SPRINT_INSTALL_SCRIPT ]; then + state_start "Installing new sprint builds on '$SPRINT_SERVER'..." + echo Installing server remotely... + cat $SPRINT_INSTALL_SCRIPT | ssh -T $SPRINT_SERVER "cat > ~/$SPRINT_INSTALL_SCRIPT ; chmod 755 ~/$SPRINT_INSTALL_SCRIPT ; ~/$SPRINT_INSTALL_SCRIPT $VER ; rm -f ~/$SPRINT_INSTALL_SCRIPT" + state_end + fi + fi +} + +if [ $EXECUTE_COMMANDS ]; then + echo -n +else + state_start "RUNNING DRY RUN" +fi + +setup +build +copy_to_cisd_server +copy_to_sprint_server +install_sprint + +state_start Done! -- GitLab