Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
G
global-jenkinsfile
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
QA
global-jenkinsfile
Commits
49e285a7
Commit
49e285a7
authored
Apr 01, 2025
by
haozhe.ma
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add qgAnsiblePipeline-ops.groovy
parent
15f42977
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
69 additions
and
0 deletions
+69
-0
qgAnsiblePipeline-ops.groovy
vars/qgAnsiblePipeline-ops.groovy
+69
-0
No files found.
vars/qgAnsiblePipeline-ops.groovy
0 → 100644
View file @
49e285a7
import
org.qg.ansible.*
def
call
(
body
)
{
def
config
=
[:]
def
env
=
body
.
env
def
envType
=
env
.
env
def
nameWithNamespace
=
env
.
name_with_namespace
def
tagName
=
env
.
tag_name
def
tingyun
=
env
.
tingyun
def
projectName
=
nameWithNamespace
.
split
(
"/"
)[
1
]
def
action
=
env
.
action
def
force
=
env
.
force
def
dataCenter
=
env
.
data_center
def
machines
=
env
.
hosts
def
operation
=
env
.
operation
def
_utils
=
new
org
.
qg
.
ansible
.
Utils
()
body
.
resolveStrategy
=
Closure
.
DELEGATE_FIRST
body
.
delegate
=
config
body
()
node
{
stage
(
'Clean'
)
{
deleteDir
()
}
def
deployUser
wrap
([
$class
:
'BuildUser'
])
{
deployUser
=
BUILD_USER
}
if
(
dataCenter
==
"A"
||
dataCenter
==
"C"
||
dataCenter
==
"PRE"
)
{
if
(
operation
==
"online"
||
operation
==
"offline"
)
{
sh
"ansible-playbook /etc/ansible/online-offline.yml -e project_name=${projectName} -e data_center=${dataCenter} -e machines=${machines} -e env=${envType} -e operation=${operation} -v"
}
else
{
stage
(
'Build'
)
{
if
(
action
==
'deploy'
)
{
sh
"ansible-playbook /etc/ansible/build.yml -e project_name=${projectName} -e data_center=${dataCenter} -e name_with_namespace=${nameWithNamespace} -e tag_name=${tagName} -e force=${force} -e env=${envType} -v"
}
}
stage
(
'Deploy'
)
{
if
(
action
==
'deploy'
)
{
sh
"ansible-playbook /etc/ansible/${action}-test.yml -e project_name=${projectName} -e data_center=${dataCenter} -e machines=${machines} -e tag_name=${tagName} -e force=${force} -e env=${envType} -v"
if
(
nameWithNamespace
.
startsWith
(
"DevOps"
)
||
nameWithNamespace
.
startsWith
(
"QG"
)
||
nameWithNamespace
.
startsWith
(
"head_group"
)
||
nameWithNamespace
.
startsWith
(
"funding"
)
||
nameWithNamespace
.
startsWith
(
"fund_pay"
)
)
{
try
{
sh
"cd /home/quant_group/code/"
+
projectName
+
";"
\
+
"tagMessage=\$(git tag -l -n99 "
+
tagName
+
");"
\
+
"curl -G --data-urlencode \"tagMessage=\$tagMessage\" http://sonar.quantgroups.com/cicd/jenkins_deploy?deployUser="
+
deployUser
+
"\\&tagName="
+
tagName
+
"\\&projectName="
+
projectName
+
";"
}
catch
(
exc
)
{
echo
'发送上线通知失败,建议尝试人工通知'
}
}
}
if
(
action
==
'rollback'
)
{
sh
"ansible-playbook /etc/ansible/${action}.yml -e project_name=${projectName} -e data_center=${dataCenter} -e machines=${machines} -e rollback_to_release=${tag_name} -e force=${force} -e env=${envType} -v"
}
}
}
}
else
{
sh
"ansible-playbook /etc/ansible/k8s-deploy.yml -e project_name=${projectName} -e data_center=${dataCenter} -e env=${envType} -e image=${image} -v"
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment