diff --git a/opensips/make.sh b/opensips/make.sh new file mode 100644 index 0000000..d96e850 --- /dev/null +++ b/opensips/make.sh @@ -0,0 +1,94 @@ +#!/bin/bash +#title :make.sh +#description :This script is called by autobuild.sh. +#author :xdtianyu@gmail.com +#date :20141205 +#version :1.0 final +#usage :bash make.sh +#bash_version :4.3.11(1)-release + +GIT_DIR=/home/builder/opensips-git +BUILD_DIR=/home/builder/opensips-autobuild +SUDO_PASSWORD="123456" # PLEASE MODIFY THIS + +PUSH_SERVER="sip.example.com" # PLEASE MODIFY THIS +PUSH_PORT="12345" # PLEASE MODIFY THIS + +ERROR_MSG="" +ERROR_OUTPUT="/tmp/error.out" + +if [ -f "$ERROR_OUTPUT" ];then + echo $SUDO_PASSWORD | sudo -S rm -rf $ERROR_OUTPUT +fi + +function finish() +{ + if [ ! -z "$ERROR_MSG" ];then + echo "$ERROR_MSG" >> $ERROR_OUTPUT + fi + exit 0; +} + +if [ ! -d "$GIT_DIR" ];then + echo "git source directory not exist, exit."; + ERROR_MSG="git directory not exist."; + finish; +fi + +if [ -d "$BUILD_DIR" ];then + echo "build directory exist, remove now."; + echo $SUDO_PASSWORD|sudo -S rm -r $BUILD_DIR; +fi + +cd $GIT_DIR + +git clean -df + +echo "pull git source to the latest." +git pull + +mkdir -p $BUILD_DIR +cd $BUILD_DIR + +echo "copy source to $BUILD_DIR" +cp -r $GIT_DIR/* . + +echo -e "\nmake clean\n" +make clean + +echo -e "\nmake all\n" +make all|| ERROR_MSG="build failed." + +if [ ! -z "$ERROR_MSG" ];then + finish; +fi + +echo -e "\nmake backup\n" +cd install +echo $SUDO_PASSWORD|sudo -S ./build.sh --backup +cd .. +echo -e "\nmake install\n" +echo $SUDO_PASSWORD|sudo -S make install + +echo -e "\nmake opensips.run\n" +cd install +echo $SUDO_PASSWORD|sudo -S ./build.sh + +echo -e "\nrestory backup\n" +cd backup +echo $SUDO_PASSWORD|sudo -S ./opensips* + +cd .. +echo -e "\nclean backup\n" +echo $SUDO_PASSWORD|sudo -S ./build.sh -c --backup + +cd .. + +if [ -f "install/release/opensips.run" ];then + echo -e "\npush opensips.run to $PUSH_SERVER\n" + scp -P $PUSH_PORT install/release/opensips.run root@$PUSH_SERVER:/root +else + echo -e "\nError, no release find.\n" + ERROR_MSG="Build failed, please check log for detail." + finish; +fi