Quote:
Originally Posted by Keith Hedger
After 500+ posts you should know to use code tags and paste the actual script and the output/error messages.
|
I know I was shocked too. Who knew
#!/bin/bash
# This file is designed to check code out of Harvest
#
# 11/15/2017
#
# All your Base Are Belongs to us
#
BASE_DIR=/build/testing #DO NOT ADD Trailing /
BUILD_DIR="$BASE_DIR/build"
BATCH_DIR="$BUILD_DIR/batch"
CHECKOUT_BASE_VIEW_PATH="SOME_Code_Project"
CHECKOUT_BROKER="Server1" #Name and IP must be in /etc/hosts. Cannot use FQDN
CHECKOUT_COMMAND=/opt/CA/scm/bin/hco
CHECKOUT_HARVEST_STATE=""USER TEST""
CHECKOUT_PROJECT="YEA_A_Project"
CHECKOUT_PN=""CHECK OUT FOR BROWSE/SYNCHRONIZE""
CHECKOUT_S=""*.*""
LOG_DIR="$BATCH_DIR/logs"
DEBUG=0
if [ $DEBUG == 1 ];then
echo -e "Debugging Information"
echo -e "BASE_DIR= $BASE_DIR"
echo -e "BUILD_DIR= $BUILD_DIR"
echo -e "BATCH_DIR= $BATCH_DIR"
echo -e "CHECKOUT_BASE_VIEW_PATH= $CHECKOUT_BASE_VIEW_PATH"
echo -e "CHECKOUT_BROKER= $CHECKOUT_BROKER"
echo -e "CHECKOUT_COMMAND= $CHECKOUT_COMMAND"
echo -e "CHECKOUT_HARVEST_STATE= $CHECKOUT_HARVEST_STATE"
echo -e "CHECKOUT_PROJECT= $CHECKOUT_PROJECT"
echo -e "CHECKOUT_PN= $CHECKOUT_PN"
echo -e "CHECKOUT_S= $CHECKOUT_S"
echo -e "LOG_DIR= $LOG_DIR"
echo -e "DEBUG= $DEBUG\n"
echo -e "I Would be running the following commands to check out code from $CHECKOUT_BROKER:\n"
echo -e "\n\n"
echo "$CHECKOUT_COMMAND -b $CHECKOUT_BROKER -usr browse -pw password -vp $CHECKOUT_BASE_VIEW_PATH/batch/Scripts -en $CHECKOUT_PROJECT -st $CHECKOUT_HARVEST_STATE -pn "$CHECKOUT_PN" -cp $BUILD_DIR/Scripts -br -r -ced -op pc -s "$CHECKOUT_S" -o $LOG_DIR/outputScripts.log"
echo -e "\n\n"
fi
if [ $DEBUG != 1 ];then
echo -e "Fetching the code from $CHECKOUT_BROKER"
echo -e "Cleaning checked out code directory $BUILD_DIR ...."
#if the $BUILD_DIR exists, wack it.
if [ -d $BUILD_DIR ];then
rm -rf $BUILD_DIR
fi
#if the $BUILD_DIR does NOT exist, create it.
if [ ! -d $BUILD_DIR ];then
echo -e "Creating directory $BUILD_DIR ...."
mkdir -p $BUILD_DIR
fi
#if the $BATCH_DIR does NOT exist, create it.
if [ ! -d $BATCH_DIR ];then
echo -e "Creating directory $BATCH_DIR ...."
mkdir -p $BATCH_DIR
fi
#if the $LOG_DIR does NOT exist, create it.
if [ ! -d $LOG_DIR ];then
echo -e "Creating directory $LOG_DIR ...."
mkdir -p $LOG_DIR
fi
echo -e "Checking out code from... $CHECKOUT_BASE_VIEW_PATH"
CHECKOUT_ERROR=0
#Harvest Checkout Commands
echo -e "Checking out $CHECKOUT_BASE_VIEW_PATH/batch/Config from $CHECKOUT_HARVEST_STATE"
$CHECKOUT_COMMAND -b $CHECKOUT_BROKER -usr user1 -pw password -vp $CHECKOUT_BASE_VIEW_PATH/batch/config -en $CHECKOUT_PROJECT -st $CHECKOUT_HARVEST_STATE -pn $CHECKOUT_PN -cp $BUILD_DIR/Config -br -r -ced -op pc -s "$CHECKOUT_S" -o $LOG_DIR/outputConfig.log
echo -e "Checking out $CHECKOUT_BASE_VIEW_PATH/batch/copybooks from $CHECKOUT_HARVEST_STATE"
$CHECKOUT_COMMAND -b $CHECKOUT_BROKER -usr user1 -pw password -vp $CHECKOUT_BASE_VIEW_PATH/batch/copybooks -en $CHECKOUT_PROJECT -st $CHECKOUT_HARVEST_STATE -pn $CHECKOUT_PN -cp $BUILD_DIR/Copybooks -br -r -ced -op pc -s $CHECKOUT_S -o $LOG_DIR/outputCopybooks.log
echo -e "Checking out $CHECKOUT_BASE_VIEW_PATH/batch/csf from $CHECKOUT_HARVEST_STATE"
$CHECKOUT_COMMAND -b $CHECKOUT_BROKER -usr user1 -pw password -vp $CHECKOUT_BASE_VIEW_PATH/batch/csf -en $CHECKOUT_PROJECT -st $CHECKOUT_HARVEST_STATE -pn $CHECKOUT_PN -cp $BUILD_DIR/CSF -br -r -ced -op pc -s $CHECKOUT_S -o $LOG_DIR/outputCSF.log
#Works from command line
# /opt/CA/scm/bin/hco -b Server1 -usr user1 -pw password -vp SOME_Code_Project/batch/scripts -en YEA_A_Project -st "USER TEST" -pn "CHECK OUT FOR BROWSE/SYNCHRONIZE" -cp /build/testing/build/Scripts -br -r -ced -op pc -s "*.*" -o /build/testing/build/log/outputScripts.log
echo -e "Code checkout complete..."
fi