天天看點

shell讀取建構檔案資訊生成json字元串

需求:腳本讀取文本檔案中的建構資訊,列印資訊,并生成json格式字元串,json字元串用于robot framework調用Jenkins打包用(需要job_name,job_tag及job_type)

腳本如下:

#!/usr/bin/sh

### 輸入檔案格式如下:
# xxx需求--接口改動       http://svn.xxx.com/xxx/refund_back/branches/3.0.8/ 
# xxx需求--接口改動       http://svn.xxx.com/xxx/refund_core/branches/3.2.7/ 
# xxx需求--接口改動       http://svn.xxx.com/xxx/refund_server/branches/2.6.1/ 
# xxx需求--接口改動       http://svn.xxx.com/xxx/refund_facade/branches/2.0.1/

#各子產品名數組
MOD=(refund_domain refund_facade refund_core refund_server refund_back refund_manager_core refund_manager_app)
SPLINE="-------------------------------------------------------------"

#腳本用法,并抓取檔案内容到NCSTR變量中
[ $# -lt 1 ] && echo "Usage: `basename $0` + build_info_file" && exit -1 || INFL=$1 && NCSTR=`cat $INFL| grep "http" | sed -e "s#.*\(http.*/\).*#\1#g" -e '/^$/d'`

#解析NCSTR變量,輸出build資訊,并生成JSON格式字元串
echo ${SPLINE}
jstr="["
for mod in ${MOD[@]};do
        version=`echo $NCSTR|awk -F"${mod}/branches/" '{print $2}'|cut -d'/' -f1`
        if [ "X"${version} != "X" ];then
                case ${mod} in
                        refund_domain|refund_facade|refund_core)
                                #更新代碼
                                #cd /d/ideal_code/${mod}
                                #url=`svn info | grep -E "^URL: " | sed 's/.*\(http.*branches\/\).*/\1/g'`$version
                                #svn sw $url
                                #svn update
                                job_name="wc_"${mod}"_nexus"
                                job_type="jar"
                                ;;
                        refund_server|refund_back)
                                job_name="wc_"${mod}
                                job_type="war"
                                ;;
                                *)
                                        :
                                ;;
                esac
                job_tag=${version}
                jstr=$jstr"{\"job_name\":\"${job_name}\",\"job_tag\":\"${job_tag}\",\"job_type\":\"${job_type}\"},"
                echo -e "${job_name}\t${mod}\t${version}"
        fi
done
jstr=${jstr%,}
jstr=${jstr}"]"

echo ${SPLINE}
echo ${jstr}

           

robot framework 打包

shell腳本生成的字元串作為${builds_str}

shell讀取建構檔案資訊生成json字元串
shell讀取建構檔案資訊生成json字元串
shell讀取建構檔案資訊生成json字元串