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
493f843e
Commit
493f843e
authored
Nov 14, 2017
by
daidekun
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
stage
parent
9a6e6d05
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
77 additions
and
75 deletions
+77
-75
stage.groovy
src/libs/stage.groovy
+77
-0
stages.groovy
src/libs/stages.groovy
+0
-75
No files found.
src/libs/stage.groovy
0 → 100644
View file @
493f843e
// src/libs/utils.groovy
package
libs
;
import
libs.utils
;
class
Stage
{
def
branchName
=
env
.
BRANCH_NAME
def
gitRepo
=
env
.
GIT_REPO
def
namespace
=
env
.
NAMESPACE
def
isDeploy
=
env
.
IS_DEPLOY
t
=
gitRepo
.
split
(
"/"
)
def
gitGroup
=
t
[
0
]
def
systemName
=
t
[
1
]
def
harborGroup
=
"library"
def
workspace
=
"/home/quant_group/jenkins_home/workspace/${env.JOB_NAME}"
def
buildNumber
def
imageTag
def
utils
=
new
libs
.
utils
()
def
contextDir
=
utils
.
contextDir
()
def
checkout
()
{
sh
"cp -r /home/quant_group/qg-dockerfiles/templates/ui ${contextDir}"
git
branch:
branchName
,
credentialsId:
'e1ccb1ac-1282-4fb4-b766-530ca1a2a2db'
,
url:
"git@gitabc.xyqb.com:${gitRepo}.git"
sh
"git pull origin master"
}
def
build
()
{
sh
"ansible-playbook /etc/ansible/build.yml -e prefix=${namespace} -e project_name=pre.${systemName} -e workspace=${contextDir} -vv"
}
def
docker_build_and_push
()
{
buildNumber
=
env
.
BUILD_NUMBER
/*分支名中非法字符统一替换为下划线*/
regex
=
"[`,./;\\[\\]&<>?:\"()|-]+"
safeBranchName
=
branchName
.
replaceAll
(
regex
,
"_"
)
safeSystemName
=
"project"
imageTag
=
"192.168.4.36/${harborGroup}/${systemName}:${safeBranchName}-${buildNumber}"
withDockerServer
([
uri:
"tcp://192.168.4.96:2375/"
])
{
withDockerRegistry
([
credentialsId:
'harbor-qajenkins'
,
url:
"http://192.168.4.36"
])
{
def
image
=
docker
.
build
(
imageTag
,
"--build-arg BUILD_NUMBER=${buildNumber} --build-arg SYSTEM_NAME=${safeSystemName} ${contextDir}"
)
image
.
push
()
}
}
echo
"=================镜像地址================="
echo
imageTag
echo
"========================================="
}
def
deploy
()
{
if
(
isDeploy
)
{
echo
(
"将镜像更新到到Namespace:"
+
namespace
)
build
job:
'deployer.Updater'
,
parameters:
[
string
(
name:
'namespace'
,
value:
"${namespace}"
),
string
(
name:
'name'
,
value:
"${systemName}"
),
string
(
name:
'image'
,
value:
"${imageTag}"
),
string
(
name:
'tier'
,
value:
"backend"
)]
}
else
{
echo
"namespace不存在,不执行deploy"
echo
namespace
}
}
def
clean
()
{
sh
"rm -rf ./${contextDir}"
}
}
src/libs/stages.groovy
deleted
100644 → 0
View file @
9a6e6d05
// src/libs/utils.groovy
package
libs
;
import
libs.utils
;
def
branchName
=
env
.
BRANCH_NAME
def
gitRepo
=
env
.
GIT_REPO
def
namespace
=
env
.
NAMESPACE
def
isDeploy
=
env
.
IS_DEPLOY
t
=
gitRepo
.
split
(
"/"
)
def
gitGroup
=
t
[
0
]
def
systemName
=
t
[
1
]
def
harborGroup
=
"library"
def
workspace
=
"/home/quant_group/jenkins_home/workspace/${env.JOB_NAME}"
def
buildNumber
def
imageTag
def
utils
=
new
libs
.
utils
()
def
contextDir
=
utils
.
contextDir
()
def
checkout
()
{
sh
"cp -r /home/quant_group/qg-dockerfiles/templates/ui ${contextDir}"
git
branch:
branchName
,
credentialsId:
'e1ccb1ac-1282-4fb4-b766-530ca1a2a2db'
,
url:
"git@gitabc.xyqb.com:${gitRepo}.git"
sh
"git pull origin master"
}
def
build
()
{
sh
"ansible-playbook /etc/ansible/build.yml -e prefix=${namespace} -e project_name=pre.${systemName} -e workspace=${contextDir} -vv"
}
def
docker_build_and_push
()
{
buildNumber
=
env
.
BUILD_NUMBER
/*分支名中非法字符统一替换为下划线*/
regex
=
"[`,./;\\[\\]&<>?:\"()|-]+"
safeBranchName
=
branchName
.
replaceAll
(
regex
,
"_"
)
safeSystemName
=
"project"
imageTag
=
"192.168.4.36/${harborGroup}/${systemName}:${safeBranchName}-${buildNumber}"
withDockerServer
([
uri:
"tcp://192.168.4.96:2375/"
])
{
withDockerRegistry
([
credentialsId:
'harbor-qajenkins'
,
url:
"http://192.168.4.36"
])
{
def
image
=
docker
.
build
(
imageTag
,
"--build-arg BUILD_NUMBER=${buildNumber} --build-arg SYSTEM_NAME=${safeSystemName} ${contextDir}"
)
image
.
push
()
}
}
echo
"=================镜像地址================="
echo
imageTag
echo
"========================================="
}
def
deploy
()
{
if
(
isDeploy
)
{
echo
(
"将镜像更新到到Namespace:"
+
namespace
)
build
job:
'deployer.Updater'
,
parameters:
[
string
(
name:
'namespace'
,
value:
"${namespace}"
),
string
(
name:
'name'
,
value:
"${systemName}"
),
string
(
name:
'image'
,
value:
"${imageTag}"
),
string
(
name:
'tier'
,
value:
"backend"
)]
}
else
{
echo
"namespace不存在,不执行deploy"
echo
namespace
}
}
def
clean
()
{
sh
"rm -rf ./${contextDir}"
}
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