基于分盘home的nccloud - jenkins构建脚本

如题

已邀请:
##定义开发者中心地址和Harbor地址
IUAP_ADDR=10.10.18.10
HARBOR_ADDR=10.10.18.15

##变量定义
NC_APP_DIR=/data/ncc/ncchome
SV_APP_DIR=/data/ncc/nchome_scm-scm
SV_APP_NAME=scm-scm
VERSION="10."`date '+%Y%m%d%H%M%S'`


##指定jenkins构建服务器目标Harbor
##sed -i '/reg.yyuap.io/d' /etc/hosts
##echo  '10.10.18.215  reg.yyuap.io' >> /etc/hosts
#sed  -i "/reg.yyuap.io/c${HARBOR_ADDR} reg.yyuap.io" /etc/hosts


##配置环境变量                                                                                   
export JAVA_HOME=/data/ncc/jdk                                                                      
export PATH=/usr/local/bin:/data/ncc/jdk/bin:$PATH


##拆分nchome
cd ${NC_APP_DIR} 
#find  ./  -type f -name *.class |xargs rm -f                                                                                                  
                                                                                                       
java -jar spliter.jar ${SV_APP_NAME}

##war包删除jar包
find ./ -type f -name "spring-aop-3.0.5*" -or -name "jackson-annotations-2.0.1.jar" -or -name "jackson-annotations-2.6.0.jar" -or -name "jackson-core-2.0.1.jar" -or -name "jackson-core-2.6.3.jar" -or -name "jackson-databind-2.0.1.jar" -or -name "jackson-databind-2.6.3.jar" -or -name "spring-asm-3.0.5*" -or -name "spring-context-support-3.0.5*" -or -name "spring-expression-3.0.5*" -or -name "spring-webmvc-3.0.5*"    -or -name "jackson-mapper-asl-1.9.9.jar" -or -name "handlerbars-proto-0.6.0.jar" |xargs rm -f
                               
##war包临时补丁方案--张阳
##cp -rf /data/patch_war/* ${SV_APP_DIR}/nchome_${SV_APP_NAME}

##拆分war包,打补丁--各领域
java -jar wartool.jar ${SV_APP_DIR}/nchome_$SV_APP_NAME
#cp  -rf /data/patch/patch_${SV_APP_NAME}/war/classes  ${SV_APP_DIR}/nchome_${SV_APP_NAME}/temp/stage/ROOT/WEB-INF/
#cp  -rf /data/patch/patch_${SV_APP_NAME}/war/modules  ${SV_APP_DIR}/nchome_${SV_APP_NAME}/temp/stage/ROOT/WEB-INF/home/  
#牛晓争20200312添加,复制war/hotwebs下到根目录
cp  -rf /data/patch/patch_${SV_APP_NAME}/war/home  ${SV_APP_DIR}/nchome_${SV_APP_NAME}/temp/stage/ROOT/WEB-INF/home 


##进入拆分完的目录中,新建Dockerfile
cd ${SV_APP_DIR}
if [ -f "${SV_APP_DIR}/Dockerfile" ];then
rm -rf ${SV_APP_DIR}/Dockerfile
fi
mkdir -p ${SV_APP_DIR}/Dockerfile
touch ${SV_APP_DIR}/Dockerfile/Dockerfile

echo "FROM 10.10.18.15/base/tomcat:8-jdk8-alpine
COPY nchome_$SV_APP_NAME/temp/stage/ROOT /usr/local/tomcat/webapps/ROOT
EXPOSE 8888" >./Dockerfile/Dockerfile

##生成、推送镜像到镜像仓库                                                                     
docker build -f ${SV_APP_DIR}/Dockerfile/Dockerfile .  -t   10.10.18.15/c87e2267-1001-4c70-bb2a-ab41f3b81aa3/${SV_APP_NAME}:${VERSION}
docker login  -u  admin -p Harbor12345  10.10.18.15
docker push 10.10.18.15/c87e2267-1001-4c70-bb2a-ab41f3b81aa3/${SV_APP_NAME}:${VERSION}             #推送到镜像仓库 

##更新ncc-war-product.list,用于安装盘
sed -i s/^ncc-${SV_APP_NAME}.*/ncc-${SV_APP_NAME}:${SV_APP_NAME}:${VERSION}/g /data/ncc-war-product.list

##给开发者中心发送post请求,使开发者中心关联镜像
curl -X POST "http://10.10.18.10/app-docker-registry/api/registry/push?providerId=c87e2267-1001-4c70-bb2a-ab41f3b81aa3&userName=%E7%AE%A1%E7%90%86%E5%91%98&userId=c87e2267-1001-4c70-bb2a-ab41f3b81aa3&imageName=reg.yyuap.io:81/c87e2267-1001-4c70-bb2a-ab41f3b81aa3/${SV_APP_NAME}&tag=${VERSION}"


要回复问题请先登录注册