轻轨线(CI/CD)多应用元数据打包优化

关于轻轨线(CI/CD)打包应用元数据,原方案需要指定每个应用元数据路径,当插件工程没按应用创建,为了打包应用元数据需要在轻轨线项目中添加多个苍穹应用并填写元数据路径,存在一定的工作量,现有优化方案:
元数据,脚本和预插数据按应用编码按下图格式放入文件夹中,如下图(应用编码app01):

2. 将多个应用元数据放入git仓库一个文件夹下,如下图:

3. 在苍穹应用中“元数据存放路径”填写第2步中的路径,流水线打包时会将该目录下所有应用元数据打进补丁包中,无需再填写脚本路径,如下图:

4. 替换CI流水线“构建补丁包”节点中处理元数据中脚本:


替换为:
sh '''
. /tmp/${JOB_NAME}/set_env_inpipeline.sh
# 初始化打包环境
# pipeline_build_dm.sh
COSMIC_VERSION=`echo ${COSMIC_PATCH_VERSION}|awk -F \'[.]\' \'{print $1"."$2}\'`
if [ ${IS_BUILD_META} -eq 0 ] || [ -z "${METADATA_PATH}" ];then
echo "is_build_meta=${IS_BUILD_META},build meta pass"
else
mkdir -p ${OUTPUTDIR}/mc_upgrade_package_tmp/dm/
cd ${OUTPUTDIR}/mc_upgrade_package_tmp/dm
#获取苍穹sdk
MODEL_STATUS=`curl -k -m 2 -o /dev/null -s -w %{http_code} ${NEXUS_PROXY}/product_repo/components?type=pub\\&file_url=\\/tools/gen_datamodel.sh -H "X-Console-Ukey:${X_Console_Ukey}"`
if [ $MODEL_STATUS = "404" ]; then
echo "/pub/tools/gen_datamodel.sh file is not exist!"
exit 1
fi
curl -k -O ${NEXUS_PROXY}/product_repo/components?type=pub\\&file_url=\\/tools/gen_datamodel.sh -H "X-Console-Ukey:${X_Console_Ukey}"
for d in ${WORKSPACE}/${METADATA_PATH}/*; do if [ -d "$d" ]; then
appdir="$(basename "$d")"
mkdir -p ${OUTP
轻轨线(CI/CD)多应用元数据打包优化
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



