最终结果
脚本名称
Init_HelmChats.sh
脚本内容
#!/bin/bashHELM_REPO="sztx-repo"DATE=`date+%F_%H_%M_%S`CHARTS_DIR="/tmp/helmchart_${DATE}"mkdir/tmp/helmchart_${DATE}cd${CHARTS_DIR}#请发布的环境对应部署的Kubernets集群命名空间ops、dev、test、prod#请部署的应用对应git的服务名称read-p"发布服务名称:"Service_Name#请部署的应用对应的端口号read-p"发布服务端口:"Service_Port#请部署的应用副本数量read-p"发布服务副本数:"Deploy_Count#请部署服务域名URLread-p"发布服务域名URL:"URL#请部署服务域名URIread-p"发布服务域名URI:"URIread-p"发布HelmChart版本号x.x.x:"Version#HelmChart包echo"你要发布的服务信息-发布的环境
{Deploy_Namespace},发布服务名称
{Service_Name},发布服务端口
{Service_Port},发布服务副本数
{Deploy_Count},发布服务访问路径
{URL}/${URI}"whiletruedoread-p"请确认以上信息,并确认是否要生成{Service_Name}-Helmchat包yes/no:"Choseif["${Chose}"=="yes"];thenhelmrepoupdate#开始下载helmchart模板到本地echo"开始初始化${Service_Name}-Helmchat"sleep2helmfetch${HELM_REPO}/Service_Name--version=0.0.0cd$CHARTS_DIRtarzxvfService_Name-0.0.0.tgz#DefineService_NamemvService_Name${Service_Name}#DefineDeploy_Namespace#sed-i"s/Deploy_Namespace/${Deploy_Namespace}/g"${Service_Name}/*.yaml#sed-i"s/Deploy_Namespace/${Deploy_Namespace}/g"${Service_Name}/templates/*#sed-i"s/Deploy_Namespace/${Deploy_Namespace}/g"${Service_Name}/templates/tests/*#DefineDefrentsenvcp${Service_Name}/values.yaml${Service_Name}/values_dev.yamlcp${Service_Name}/values.yaml${Service_Name}/values_test.yamlcp${Service_Name}/values.yaml${Service_Name}/values_pre.yamlcp${Service_Name}/values.yaml${Service_Name}/values_uat.yamlcp${Service_Name}/values.yaml${Service_Name}/values_prod.yaml#DefineService_Nameofhelmnamesed-i"s/Service_Name/${Service_Name}/g"${Service_Name}/*.yamlsed-i"s/Service_Name/${Service_Name}/g"${Service_Name}/templates/*sed-i"s/Service_Name/${Service_Name}/g"${Service_Name}/templates/tests/*#DefineServiceLogDirsed-i"s/Service_Logs_Dir/dev-${Service_Name}/g"${Service_Name}/values_dev.yamlsed-i"s/Service_Logs_Dir/test-${Service_Name}/g"${Service_Name}/values_test.yamlsed-i"s/Service_Logs_Dir/pre-${Service_Name}/g"${Service_Name}/values_pre.yamlsed-i"s/Service_Logs_Dir/uat-${Service_Name}/g"${Service_Name}/values_uat.yamlsed-i"s/Service_Logs_Dir/${Service_Name}/g"${Service_Name}/values_prod.yaml#DefineService_NameofService_Portsed-i"s/Service_Port/${Service_Port}/g"${Service_Name}/*.yaml#DefineService_NameofDeploy_Countsed-i"s/Deploy_Count/${Deploy_Count}/g"${Service_Name}/*.yaml#DefineService_NameofURLsed-i"s/URL/dev-${URL}/g"${Service_Name}/values_dev.yamlsed-i"s/URL/test-${URL}/g"${Service_Name}/values_test.yamlsed-i"s/URL/pre-${URL}/g"${Service_Name}/values_pre.yamlsed-i"s/URL/uat-${URL}/g"${Service_Name}/values_uat.yamlsed-i"s/URL/${URL}/g"${Service_Name}/values_prod.yaml#DefineService_NameofURIsed-i"s/URI/${URI}/g"${Service_Name}/*.yaml#DefinechartVersionsed-i"s/0.0.0/${Version}/g"${Service_Name}/Chart.yaml#starthelmpackagehelmpackage${Service_Name}helmpush${Service_Name}-${Version}.tgz${HELM_REPO}echo"完成初始化${Service_Name}-${Version}-Helmchat"exit0elif["${Chose}"=="no"];thenecho"退出,再见"exit0elseecho"请输入yesorno"fidone
脚本看出引入了模版包。模板包存放网盘
链接: