Jenkins 流水线语法 常用的DSL方法总结

下面其中整理出来的大部分方法,在写Jenkinsfile的时候,大部分可以从片段生成器当中拿到 

常用DSL readJSON Json 数据格式化


主要用来处理json数据的 

 yaml格式的

                    response = gitlab.GetRepoFile(23,"release.yaml", "master")
                    //println(response)
                    
                    //替换文件中内容
                    yamlData = readYaml text: """${response}"""

                    println(yamlData)
                    yamlData.version   = "${env.releaseVersion}"
                    yamlData.artifact  = "${env.artifactUrl}"
                    yamlData.buname    = "${buName}"
                    yamlData.appname   = "${appName}"
                    println(yamlData.toString())

常用DSL 凭据 withCredentials


withCredentials([usernamePassword(credentialsId: 'ff93f4bf-9d8c-4fc2-bccd-3e614f10d643', passwordVariable: 'passwd', usernameVariable: 'user')]) {
    // some block
}

这里的账号user和密码passwd是加密了的,你用println(user/passwd)打印出来的是***看不到里面的内容。

withCredentials([string(credentialsId: 'f8b33d17-c1cf-428e-aa31-99d4038e59d0', variable: 'sonar_token')]) {
    // some block
}

常用DSL 下载代码  checkout


分支名称+账号密码+以及git仓库地址 

常用DSL 生成Html报告  publishHTML


 当进行单元测试和自动化测试的时候,我们想展示一个HTML报告,这个时候就可以使用publishHTML,每次可以将workspace里面的报告展示出来。可以一个,也可以多个。

 常用DSL 交互式  input


常用DSL 收集单测的报告


        stage('test') {
            steps {
                script{
                   sh "${buildTools["maven"]}/bin/mvn test"
                }
            }
            post{
                success{
                    script{
                        junit 'target/surefire-reports/*.xml'
                    }
                }
            }
        }

 常用DSL 获取构建用户信息 BuildUser


build user vars | Jenkins pluginhttps://plugins.jenkins.io/build-user-vars-plugin/

https://www.jenkins.io/doc/pipeline/steps/build-user-vars-plugin/#build-user-vars-pluginhttps://www.jenkins.io/doc/pipeline/steps/build-user-vars-plugin/#build-user-vars-plugin 

常用DSL 访问接口 HttpRequest


 经常会用到访问一些接口,比如gitlab然后去传递一些参数。

常用DSL 发送邮件 Email


常用DSL 清理workspace空间


根据选择的状态去清理空间 

常用DSL 连接k8s


上面是常用的DSL,这能够更加好的帮你嵌入到你的Jenkinsfile里面,但是要记住,有些时候使用插件有好处,但是有些时候不用插件会更加方便一些,如果在后面要将Jenkins作为无状态,或者Jenkins作为模板引擎,当然它依赖的插件越少越好。

猜你喜欢

转载自blog.csdn.net/qq_34556414/article/details/121806285
今日推荐