Commit b515ba0e by 据说甜蜜呢

新增根据分支解析环境名称逻辑

parent 6f8eb666
Pipeline #4307 passed with stage
in 20 seconds
......@@ -21,7 +21,6 @@ build_job:
release-major_job:
stage: release-major
script:
- export Environment='Staging'
- bash ./devops/PipeLines/Creation/Creation_Pipeline.sh
only:
- release/staging
......@@ -33,7 +32,6 @@ release-major_job:
analysing-git-changes_job:
stage: analysing-git-changes
script:
- export Environment='Staging'
- bash ./devops/PipeLines/Updating/001_AnalysingGitChanges.sh
only:
- staging
......@@ -45,59 +43,65 @@ analysing-git-changes_job:
synchronizing-config_job:
stage: synchronizing-config
script:
- export Environment='Staging'
- bash ./devops/PipeLines/Updating/002_SyncConfig.sh
only:
- staging
- production
tags:
- staging
- production
ci_job:
stage: ci
script:
- export Environment='Staging'
- bash ./devops/PipeLines/Updating/003_CI.sh
only:
- staging
- production
tags:
- staging
- production
cd_job:
stage: cd
script:
- export Environment='Staging'
- bash ./devops/PipeLines/Updating/004_CD.sh
only:
- staging
- production
tags:
- staging
- production
is-k8s-ready_job:
stage: is-k8s-ready
script:
- export Environment='Staging'
- bash ./devops/PipeLines/Updating/005_IsK8sReady.sh
only:
- staging
- production
tags:
- staging
- production
testing_job:
stage: testing
script:
- export Environment='Staging'
- bash ./devops/PipeLines/Updating/006_Testing.sh
only:
- staging
- production
tags:
- staging
- production
clean-k8s_job:
stage: clean-k8s
script:
- export Environment='Staging'
- bash ./devops/PipeLines/Updating/007_CleanK8s.sh
only:
- staging
- production
tags:
- staging
\ No newline at end of file
- staging
- production
\ No newline at end of file
......@@ -6,6 +6,9 @@ set -e
chmod +x ./devops/PipeLines/Functions.deploy.sh
source ./devops/PipeLines/Functions.deploy.sh
# global variable
ReleaseEnvironmentOf Environment
GetAppName appName
echo ""
echo "Continuous integration for ${appName} starting..."
......
......@@ -6,6 +6,9 @@ IFS=$'\n\n'
chmod +x ./devops/PipeLines/Functions.config.sh
source ./devops/PipeLines/Functions.config.sh
# global variable
ReleaseEnvironmentOf Environment
GetAppName appName
echo ""
echo "Begin creating ${appName}'s settings to the configmap of k8s..."
......
......@@ -6,6 +6,9 @@ IFS=$'\n\n'
chmod +x ./devops/PipeLines/Functions.core.sh
source ./devops/PipeLines/Functions.core.sh
# global variable
ReleaseEnvironmentOf Environment
GetAppName appName
echo "Starting release for ${appName}, it will dynamicly create k8s environment..."
......
......@@ -6,6 +6,9 @@ IFS=$'\n\n'
chmod +x ./devops/PipeLines/Functions.core.sh
source ./devops/PipeLines/Functions.core.sh
# global variable
RollEnvironmentOf Environment
GetAppName appName
echo "Start dynamically building the gateway route for ${appName}..."
......
......@@ -136,4 +136,21 @@ function IsPublishableOf()
declare prefix=$1
declare isP=($(grep -oP "(?<=${prefix}Publishable>)[^<]+" "/tmp/cicd.props"))
eval $2="${isP}"
}
# get updating's environment of branch
function RollEnvironmentOf()
{
FirstCharUpperCase ${CI_COMMIT_REF_NAME} branch
declare env=($(grep -oP "(?<=${branch}>)[^<]+" "./devops/branch.env.props"))
eval $1="${env}"
}
# get creation's environment of branch
function ReleaseEnvironmentOf()
{
declare branch=${CI_COMMIT_REF_NAME}
declare name=($(echo "${branch}"|xargs -d '/'|awk '{print $2}'))
FirstCharUpperCase ${name} env
eval $1="${env}"
}
\ No newline at end of file
......@@ -4,7 +4,7 @@ set -e
# Import external functions
chmod +x ./devops/PipeLines/Functions.core.sh
source ./devops/PipeLines/Functions.core.sh
source ./devops/PipeLines/Functions.core.sh
function CI()
{
......
......@@ -6,6 +6,9 @@ IFS=$'\n\n'
chmod +x ./devops/PipeLines/Functions.config.sh
source ./devops/PipeLines/Functions.config.sh
# global variable
RollEnvironmentOf Environment
GetAppName appName
echo ""
echo "Begin synchronizing ${appName}'s settings to the configmap of k8s..."
......
......@@ -6,6 +6,9 @@ set -e
chmod +x ./devops/PipeLines/Functions.deploy.sh
source ./devops/PipeLines/Functions.deploy.sh
# global variable
RollEnvironmentOf Environment
GetAppName appName
echo "Continuous integration[${Environment}] for ${appName} starting..."
......
......@@ -5,6 +5,9 @@ set -e
chmod +x ./devops/PipeLines/Functions.deploy.sh
source ./devops/PipeLines/Functions.deploy.sh
# global variable
RollEnvironmentOf Environment
GetAppName appName
echo "Continuous deployment[${Environment}] for ${appName} starting..."
......
......@@ -6,6 +6,9 @@ IFS=$'\n\n'
chmod +x ./devops/PipeLines/Functions.core.sh
source ./devops/PipeLines/Functions.core.sh
# global variable
RollEnvironmentOf Environment
#1: ready, 0: not ready.
declare ready=0
......
......@@ -2,6 +2,13 @@
set -e
# Import external functions
chmod +x ./devops/PipeLines/Functions.core.sh
source ./devops/PipeLines/Functions.core.sh
# global variable
RollEnvironmentOf Environment
echo "[${Environment}]Begin testing..."
declare dir='./test/ServicesTests'
for prefix in `ls ${dir}|xargs -d '/'`
......
......@@ -6,6 +6,9 @@ IFS=$'\n\n'
chmod +x ./devops/PipeLines/Functions.core.sh
source ./devops/PipeLines/Functions.core.sh
# global variable
RollEnvironmentOf Environment
GetNameSpace namespace
echo "[${Environment}]Begin cleaning..."
......
<Project>
<PropertyGroup>
<!--key: branch name, value: environment-->
<staging>Staging</staging>
<master>Production</master>
</PropertyGroup>
</Project>
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