Jenkins: freestyle和pipeline item

通飞尘
2023-12-01

freestyle项目的“配置”选项中有“构建后操作”这一步,但是pipeline并没有;而pipeline项目中有“流水线”这一步(用来写Jenkinsfile),但是freestyle没有,但是freestyle可以直接写batch用。

一般我们写Jenkinsfile用比较常见,那么怎么在pipeline中添加“构建后操作”这一选项呢?

答案是在Jenkinsfile中添加post{}

例:

pipeline {
    agent any

    stages {
        stage('Hello') {
            steps {
                script {
                    println("Hello world")
                }
            }
        }
    }
    post {
        success {
            dingtalk (
                robot: "Jenkins",
                type:'ACTION_CARD',
                atAll: false,
                title: "构建成功:${env.JOB_NAME}",
                messageUrl: 'xxxx',
                text: [
                    "### [${env.JOB_NAME}](${env.JOB_URL}) ",
                    '---',
                    "- 任务:[${currentBuild.displayName}](${env.BUILD_URL})",
                    '- 状态:<font color=8CE600 >成功</font>',
                    "- 持续时间:${currentBuild.durationString}".split("and counting")[0],
                    "- 执行人:${currentBuild.buildCauses.shortDescription}",
                ]
           )
        }
    }
}

↑在钉钉中添加Jenkins服务器机器人来实时反馈构建信息。

反正,post里的内容基本上就是参照freestyle item里”构建后操作“的内容参数写的。

注:robot那一项填写的是配置时候设定的id。参见 jenkins:集成钉消息通知 那篇文章。

 类似资料: