下面其中整理出来的大部分方法,在写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作为模板引擎,当然它依赖的插件越少越好。