Step 1 : Create a copy of original folder and name it as smtp_corp_backup on production server. 


Step 2 : Create shell script (/var/www/html/diffscript/getCorpRelayDiff.sh) on jenkins server to get output of diff command from production server. Set Executable permission to script.


#!/usr/bin/sh
#set -x;
# Remote server details
REMOTEFOLDER=/opt/smtp_corp/
remote_user="*****"
remote_host="*****"

# Local folder
LOCALFOLDER=/opt/smtp_corp_backup/

EXCLUDEFILE=/opt/smtp_corp/.diffignore

# Use diff to find differences
diff_output=$(ssh ${remote_user}@${remote_host} diff --exclude-from=$EXCLUDEFILE -rqb $REMOTEFOLDER $LOCALFOLDER)

# Check the output of diff
if [ -z "$diff_output" ]; then
    echo "No differences found."
else
    echo "Differences found. Here is the diff output:"
    echo "$diff_output"
fi



Step 3 : Add below code in Jenkins Execute Shell


echo "INSIDE==========EXECUTE SHELL BLOCK================"
diffout=$(/var/www/html/diffscript/getCorpRelayDiff.sh)
echo "======>"$diffout"<======"
if [ "$diffout" = "No differences found." ]; then
    echo "No Diff found"
    rsync -avp --exclude-from='.releaseignore' --no-perms --omit-dir-times * *****@******:/opt/smtp_corp/
    /var/www/html/diffscript/sendSlackMessage.sh 'success' 'Build done for CORPRELAY' 'Jenkins'
    rsync -avp --exclude-from='.releaseignore' --no-perms --omit-dir-times * ******@*******:/opt/smtp_corp_backup/
else
    echo "Build failed due to differecne found...!"
    /var/www/html/diffscript/sendSlackMessage.sh 'failed' 'Build failed due to diff found for CORPRELAY' 'Jenkins'
    exit 1
fi