jenkins 获取当前上传的分支的commit + url跳转

复制代码
pipeline{
    agent any 
    environment {
        def git_url = "###"
        def appdir= "###"
        def localAppRoot = "###"
        def stagingip="###"
        def furl="###"
    }
    stages{
        stage('clear dir'){
            steps{
                echo "clear dir"
                sh  '''
                    #!/bin/bash -xe
                    rm -rf ./*
                    '''
            }
        }
        stage('pull code and config'){
            steps{
                echo "checkout from git"
                sh "git clone ${git_url}"
            }
        }
        stage('compile and package'){
            steps{
                echo "compile and package"
                sh '''
                    cd ${localAppRoot}
                    mvn clean package -DskipTests
                '''
                #获取当前代码的最新commit id, 并且url 跳转当前commit id对应的代码仓库
                script{
                    result = sh(script: "cd ${localAppRoot} && git rev-parse HEAD", returnStdout: true).trim()
                    currentBuild.displayName="#${BUILD_ID}-${result}"
                    currentBuild.description="<a href=http://${furl}${result}>jump</a>"
                }
            }
        }
        stage('deploy production'){
            when{
                environment name: 'DEPLOY_TO', value: 'prod'
            }
            steps{
                sh '''
                    sh /opt/scripts/###.sh ${sub_app_name}  ${appdir} ### ${WORKSPACE}/${localAppRoot} ###
                '''
            }
        }
        stage('deploy pre-release'){
            when{
                environment name: 'DEPLOY_TO', value: 'staging'
            }
            steps{
                sh '''
                    echo "hello"
                    sh /opt/scripts/###.sh ${sub_app_name} ${appdir}  ### ${WORKSPACE}/${localAppRoot} ### $stagingip
                '''
            }
        }
    }
}
复制代码

 

如图:

 

posted @   JvvYou  阅读(523)  评论(0编辑  收藏  举报
编辑推荐:
· 从二进制到误差:逐行拆解C语言浮点运算中的4008175468544之谜
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
阅读排行:
· C# 13 中的新增功能实操
· Ollama本地部署大模型总结
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(4)
· langchain0.3教程:从0到1打造一个智能聊天机器人
· 2025成都.NET开发者Connect圆满结束
点击右上角即可分享
微信分享提示