Jenkins Pipeline 有两种写法: Declarative 以及 Scripted,前⼀种使⽤了Jenkins基于Groovy实现的DSL,写起来相对有;后⼀种可以很好的在Jenkinsfile 中使⽤Groovy语句。 下⾯记录Scripted模式下常见的⼀些注意点:
1. 如何退出当前的build a. 中断退出:
currentBuild.result = 'ABORTED' echo \"没有项⽬被选中\" return b. 错误退出
error “错误信息” c. 不稳定退出
unstable “信息”
2. 如何从⼀个Stage 传值到另⼀个:
env.PREVIOUSE_STAGE_VALUE = “” // 必须String
下⼀个Stage 直接使⽤ def accept = env.PREVIOUSE_STAGE_VALUE 或者:
定义⼀个全局变量
3. gitlab 如何获取指定分⽀后者版本的代码? 使⽤ checkout 功能,不⽤ git 功能
4. 如何切换⽬录 使⽤ dir ⽅法
5. 如何读取上⼀个Stage 存的⽂件: def content = readFile “path”
6. 如何提⽰⽤户输⼊:
def inputStr = input message: \"select project\" , ok : “确认”, parameters: [extendedChoice(description: 'select projects to be compiled',multiSelectDelimiter: ',', name: 'project_name', quoteValue: false, saveJSONParameterToFile: false, type: 'PT_CHECKBOX', value:\"$choices\
def INPUT_PARAMS = input message: \"输⼊配置\确认', parameters : [text(defaultValue: \"\请提供Tag的名字', name: 'tag_name'),text(defaultValue: \"\请提供Tag的描述', name: 'tag_desc'),
text(defaultValue: \"${output_version}\请设置版本,为空则不会打Tag', name: 'custom_versions')]
def custom_versions = INPUT_PARAMS.custom_versions
7. 如何动态的并⾏任务:
def tasks = [:] //定义⼀个⽤例保存task 的 map tasks.”task name” = {⼀个闭包}
parallel tasks //并⾏所有task
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- jqkq.cn 版权所有 赣ICP备2024042794号-4
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务