jenkins pipeline模板svn checkout SVN_REVISION Boolean Parameter 钉钉通知dingtalk

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}"
        ]
    )
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值