node()
{
try{
notify("0")
stage('下载代码') {
scmVars = checkout([$class: 'SubversionSCM', additionalCredentials: [], excludedCommitMessages: '', excludedRegions: '', excludedRevprop: '', excludedUsers: '', filterChangelog: false, ignoreDirPropChanges: false, includedRegions: '', locations: [[cancelProcessOnExternalsFail: true, credentialsId: 'zzzzzz-zzz-zzz-zzz-zzzzzz', depthOption: 'infinity', ignoreExternalsOption: true, local: '.', remote: SVN_URL]], quietOperation: true, workspaceUpdater: [$class: 'UpdateUpdater']])
SVN_REVISION = scmVars.SVN_REVISION
echo "${scmVars}"
echo "${SVN_REVISION}"
}
stage('链接依赖目录') {
// 此步骤设计防止每次代码更新都要安装依赖,节约时间
sh 'stat /root/node_modules || mkdir /root/node_modules -p'
sh 'ln -s -f /root/node_modules .'
}
stage('更新依赖'){
def isNpmInstallNeeded = Boolean.valueOf(IS_NPM_INSTALL_NEEDED)
echo "${isNpmInstallNeeded}"
if(isNpmInstallNeeded){
sh '/bin/bash npmInstall.sh'
}
else{
echo "未设置更新,如需更新依赖,请勾选IS_NPM_INSTALL_NEEDED再次执行更新"
}
}
stage('执行构建') {
sh '/bin/bash build.sh'
}
stage('生成deb') {
echo '清理插件生成的垃圾.svn目录'
echo "${SVN_REVISION}"
sh """
find deb -type d | grep \\.svn | xargs -i rm -fr {}
export SVN_REVISION=${SVN_REVISION}
/bin/bash make_deb.sh
"""
}
stage('点击查看下载地址') {
echo 'http://1.1.1.1/release/gwAppStore/'
dingTalk (
robot: "zzz-zzz-zzz-zzz",
type: 'LINK',
title: "deb包下载地址,点击下载",
messageUrl: 'http://1.1.1.1/release/gwAppStore/',
picUrl:"https://img.599ku.com/element_pic/0/67/0/34/8144b59fd2c2c95e76e377c30f1f07bd.jpg",
text: [
"deb包下载地址,点击下载"
]
)
}
}catch(Exception ex){
notify("1")
throw ex
}
notify("2")
}
def notify(type)
{
BUILD_RESULT = ""
if (type == '0')
{
//构建开始
SUBJECT = "【通知】 ${PROJECT_NAME}构建开始"
BUILD_RESULT = "开始"
IMAGE_URL="https://gifimage.net/wp-content/uploads/2017/08/loading-gif-transparent-12.gif"
}
if (type == '1')
{
//构建失败
SUBJECT = "【严重】 ${PROJECT_NAME}构建失败"
BUILD_RESULT = "失败"
IMAGE_URL="http://kmzsccfile.kmzscc.com/upload/2020/error.jpg"
}
else if (type == '2')
{
//CI构建成功
SUBJECT = "【通知】 ${PROJECT_NAME}构建成功"
BUILD_RESULT = "成功"
IMAGE_URL="http://kmzsccfile.kmzscc.com/upload/2020/success.jpg"
}
dingTalk (
robot: "zzzz-zzz-zzz-zzz-zzz",
type: 'LINK',
title: "${BUILD_RESULT}",
messageUrl: 'http://1.1.1.1:8080/job/${PROJECT_NAME}-dev/',
picUrl:"${IMAGE_URL}",
text: [
"${SUBJECT}"
]
)
}
jenkins pipeline模板svn checkout SVN_REVISION Boolean Parameter 钉钉通知dingtalk
最新推荐文章于 2022-10-28 12:38:31 发布