Project 'liermao/microservice-autodevopspipelines' was moved to 'lichunsheng/microservice-autodevopspipelines'. Please update any links and bookmarks that may still have the old path.
Commit 569e8975 by 李二毛

Merge branch 'development' into 'rel/major'

Development

See merge request liermao/microservice-autodevopspipelines!51
parents 8539bf43 186f8768
Pipeline #4177 failed with stages
in 21 seconds
...@@ -28,6 +28,9 @@ staging-major_job: ...@@ -28,6 +28,9 @@ staging-major_job:
- bash ./devops/PipeLines/Creation/003_ReleaseMajor.sh - bash ./devops/PipeLines/Creation/003_ReleaseMajor.sh
# 004 Create gateway route. # 004 Create gateway route.
- export KongApiServer='http://127.0.0.1:81'
- export KongRouteDomain='staging-api.geekbuy.cn'
- bash ./devops/PipeLines/Creation/Gateways/Kong/004_CreateGatewayRoute.sh - bash ./devops/PipeLines/Creation/Gateways/Kong/004_CreateGatewayRoute.sh
only: only:
- rel/major - rel/major
......
...@@ -10,10 +10,8 @@ GetAppName appName ...@@ -10,10 +10,8 @@ GetAppName appName
echo "Starting release for ${appName}, it will dynamicly create k8s environment..." echo "Starting release for ${appName}, it will dynamicly create k8s environment..."
GetMajor major
GetVersion version GetVersion version
GetNameSpace namespace GetNameSpace namespace
declare releaseName="${appName}-v${major}"
echo "" echo ""
echo "Please check the image version of each microservice carefully !!!" echo "Please check the image version of each microservice carefully !!!"
...@@ -26,9 +24,11 @@ done ...@@ -26,9 +24,11 @@ done
echo "" echo ""
GetMajor major
GetReplicas replicas GetReplicas replicas
GetImageUserName registryUserName GetImageUserName registryUserName
ToLower ${Environment} environment ToLower ${Environment} environment
ToLower "${appName}-v${major}" releaseName
helm install /root/AutoDevOpsPipeLinesCharts \ helm install /root/AutoDevOpsPipeLinesCharts \
--name=${releaseName} \ --name=${releaseName} \
......
...@@ -2,15 +2,19 @@ ...@@ -2,15 +2,19 @@
set -e set -e
IFS=$'\n\n' IFS=$'\n\n'
declare appName=($(grep -oP '(?<=AppName>)[^<]+' "devops/app.props")) # Import external functions
chmod +x ./devops/PipeLines/Functions.core.sh
source ./devops/PipeLines/Functions.core.sh
GetAppName appName
echo "Start building the gateway for ${appName} route dynamically..." echo "Start building the gateway for ${appName} route dynamically..."
declare namespace=($(grep -oP '(?<=Namespace>)[^<]+' "devops/app.props")) GetMajor major
declare namespaceOfK8s=$(echo "${appName}-v${major}" | tr 'A-Z' 'a-z') GetNameSpace namespace
declare fdnOfK8s="${namespaceOfK8s}.svc.cluster.local" declare fdnOfK8s="${namespace}.svc.cluster.local"
declare kongServiceUrl=($(grep -oP '(?<=Namespace>)[^<]+' "devops/app.props")) declare kongServiceBaseUrl="${KongApiServer}/services"
declare major=($(grep -oP '(?<=Major>)[^<]+' "devops/version.props")) declare kongRouteBaseUrl="${KongApiServer}/routes"
declare releaseVersion="v${major}" declare releaseVersion="v${major}"
# resilience handle # resilience handle
...@@ -58,33 +62,31 @@ function createRoute() ...@@ -58,33 +62,31 @@ function createRoute()
--retry $4 \ --retry $4 \
-H "accept: application/json" \ -H "accept: application/json" \
-H "Content-Type: application/json" \ -H "Content-Type: application/json" \
-d "{ \"service\": "{\"id\":\"$svcId\"}",\"paths\": "[\"$6\"]",\"methods\": "$defMethods",\"strip_path\":$7,\"hosts\": "[\"$kongRouteDomain\"]"}"; -d "{ \"service\": "{\"id\":\"$svcId\"}",\"paths\": "[\"$6\"]",\"methods\": "$defMethods",\"strip_path\":$7,\"hosts\": "[\"${KongRouteDomain}\"]"}";
fi fi
fi fi
set -e set -e
} }
declare services=$(ls -l src/services | awk 'NR>1')
declare servicePrefix=""
declare serviceName=""
declare serviceNameWithVersion="" declare serviceNameWithVersion=""
declare serviceFullName="" declare serviceFdn=""
declare serviceUrl="" declare serviceUrl=""
declare serviceRouteUrl="" declare serviceRouteUrl=""
for service in ${services} for servicePrefix in `ls ./src/Services|xargs -d '/'`
do do
servicePrefix=($(echo ${service} | awk '{print $9}')) GetServiceName ${servicePrefix} serviceName
serviceName="${servicePrefix}-api" # replace . to -, compatible with k8s.
serviceName=${serviceName/\./\-}
serviceNameWithVersion="${serviceName}-${releaseVersion}" serviceNameWithVersion="${serviceName}-${releaseVersion}"
serviceFullName="${serviceName}.${fdnOfK8s}" serviceFdn="${serviceName}.${fdnOfK8s}"
serviceUrl="http://${serviceFullName}/api/${servicePrefix}" serviceUrl="http://${serviceFdn}/api/${servicePrefix}"
echo "Begin creating service[${serviceNameWithVersion}]" echo "Begin creating service[${serviceNameWithVersion}]"
createService ${kongServiceUrl} ${maxConnectTime} ${maxTime} ${retryCount} ${serviceNameWithVersion} ${serviceUrl} createService ${kongServiceUrl} ${maxConnectTime} ${maxTime} ${retryCount} ${serviceNameWithVersion} ${serviceUrl}
echo "Begin creating route of service[${serviceNameWithVersion}]" echo "Begin creating route of service[${serviceNameWithVersion}]"
serviceRouteUrl="/api/${releaseVersion}/${servicePrefix}" serviceRouteUrl="/api/${releaseVersion}/${servicePrefix}"
createRoute ${kongServiceUrl} ${maxConnectTime} ${maxTime} ${retryCount} ${serviceNameWithVersion} ${serviceRouteUrl} true createRoute ${kongRouteBaseUrl} ${maxConnectTime} ${maxTime} ${retryCount} ${serviceNameWithVersion} ${serviceRouteUrl} true
done done
echo "" echo ""
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment