echo ${WeightMode['grayload_weight']} if [ -e '$pipeline_dir/prod/$Project_Name/ingress-gray-weight.yml' ]; then cat $pipeline_dir/prod/$Project_Name/ingress-gray-weight.yml | sed 's/WEIGHT-VALUE/${WeightMode['grayload_weight']}/g' cat $pipeline_dir/prod/$Project_Name/ingress-gray-weight.yml | sed 's/WEIGHT-VALUE/${WeightMode['grayload_weight']}/g' | /usr/bin/kubectl apply -f - fi ''' } if (GraysMode['operation'] == '基于请求头灰度'){ GrayHeaderMode = input ( message: '请输入请求头!', parameters:[ string(name: 'header_key',defaultValue: '',description: ''), string(name: 'header_value',defaultValue: '',description: '') ], ok: '确定', submitter: 'ops', submitterParameter: 'APPROVER' )
sh ''' echo ${GrayHeaderMode['header_value']} echo $pipeline_dir echo '打印编排文件详细信息'
if [ -e '$pipeline_dir/prod/$Project_Name/deployment-gray.yml' ]; then cat $pipeline_dir/prod/$Project_Name/deployment-gray.yml | sed 's/TAG/${Tag}/g' cat $pipeline_dir/prod/$Project_Name/deployment-gray.yml | sed 's/TAG/${Tag}/g' | /usr/bin/kubectl apply -f - fi
if [ -e '$pipeline_dir/prod/$Project_Name/ingress-gray-header.yml' ]; then cat $pipeline_dir/prod/$Project_Name/ingress-gray-header.yml | sed 's/header-key/${GrayHeaderMode['header_key']}/g' | sed 's/header-value/${GrayHeaderMode['header_value']}/g' cat $pipeline_dir/prod/$Project_Name/ingress-gray-header.yml | sed 's/header-value/${GrayHeaderMode['header_key']}/g' | sed 's/header-value/${GrayHeaderMode['header_value']}/g' | /usr/bin/kubectl apply -f - fi ''' } // 默认模式为yes,如果跳过为no if (GraysMode['operation'] == '跳过'){ GrayEnable='no' } } }
sh ''' echo $pipeline_dir echo '开始部署生产环境' echo '打印编排文件详细信息'
if [ -e '$pipeline_dir/prod/$Project_Name/deployment.yml' ]; then cat $pipeline_dir/prod/$Project_Name/deployment.yml | sed 's/TAG/${Tag}/g' cat $pipeline_dir/prod/$Project_Name/deployment.yml | sed 's/TAG/${Tag}/g' | /usr/bin/kubectl apply -f - fi
if [ -e '$pipeline_dir/prod/$Project_Name/service.yml' ]; then cat $pipeline_dir/prod/$Project_Name/service.yml cat $pipeline_dir/prod/$Project_Name/service.yml | /usr/bin/kubectl apply -f - fi
if [ -e '$pipeline_dir/prod/$Project_Name/ingress.yml' ]; then cat $pipeline_dir/prod/$Project_Name/ingress.yml cat $pipeline_dir/prod/$Project_Name/ingress.yml | /usr/bin/kubectl apply -f - fi ''' if (GrayEnable == 'yes'){ sh ''' kubectl delete deployment ${GrayDeploymentName} -n ${Namespace_Prod} kubectl delete service ${GrayServiceName} -n ${Namespace_Prod} kubectl delete ingress ${GrayIngressName} -n ${Namespace_Prod} ''' }