jenkinsfile实战

关于jenkins的语法,查询了一些文章,真TMD的垃圾,就不能用人类的语言好好记录?直接机器翻译jenkins docs……,而且没有系统的整理的文章。中国的各行业实打实的技术知识储备,可见一斑:短,懒,虚

jenkinsfile的语法及变量等信息可在jenkins内查看到,路径是jenkins的地址/pipeline-syntax/globals#env,可以看到全局变量

回答几个问题:

1.properties是干啥的?

2.当点击构建时的可选或者手填参数,是在哪里设置的?multibranch中的branch单独手动添加这个值还是在jenkinsfile中生成的?

3.jenkinsfile内的全局变量,带类型声明和不带类型声明的区别?带类型是强制

4.局部变量的作用域?

5.check scm:

6.artifactory怎么设置?在哪里设置?请见devops架构篇

7.stage内withenv和def的区别?withenv只用于当前stge,而直接声明的变量可以用于全局

8.一些jenkinsfile里常用的step:Pipeline Utility Steps,比如readproperties   https://jenkins.io/doc/pipeline/steps/pipeline-utility-steps/https://jenkins.io/doc/pipeline/steps/

9.docker的相关命令:比如withrepository,见jenkins的地址/pipeline-syntax/globals#env,同全局变量在一起

10.parallel命令: 并行执行,比如在pipeline中有测试步骤,没有必要按序执行,此时可采用parallel加于执行的步骤之前表示这个步骤执行中继续进行后续的步骤https://jenkins.io/doc/book/pipeline/jenkinsfile/#parallel-execution

11.build命令:调用另一个job,直接使用build   https://jenkins.io/doc/pipeline/steps/pipeline-build-step/

12.基本模块:比如dir之类的https://jenkins.io/doc/pipeline/steps/workflow-basic-steps/

一,变量:

来源:

1.env.xx:jenkins系统变量,在构建过程中可传递至job内,比如构建的版本,变量名是固定不变的,在jenkins主地址/https://dso.ci.kingland.cc/pipeline-syntax/globals下可以找到,等同于ansible中的系统变量的使用方式。貌似可以直接调用已定义的系统变量,比如直接引用BRANCH_NAME而不加env

2.properties():

3.string xx = :用string的意思是:

4.boolean类型: boolean xxx = a = b,第二个等号先执行,返回结果通过第一个等号传值true或false给xxx。

jenkins哪里设置自定义的全局变量?

当变量是list时,声明使用def xxx  = [ key : value,key:value]各个值之间可以换行,但是得有逗号。调用时

调用:

${xxx}

语法:调用时如果最外层是单引号,内部的${}不会解析为变量。原装不动的解析为${}.双引号不会,即单引号表示省略转义

二,credential传值

1.credential传值可以通过withcredential这个方法,具体见参考链接https://jenkins.io/doc/pipeline/steps/credentials-binding/

简单套路:withcredential(可以通过变量传进来,一个列表){在这个credential下要干的事儿}

三,方法定义,固定方法引用

四,动态变量传值,在multibranch类型的pipeline里,在每个branch内名称右侧或者左侧菜单栏有一个view configure可以添加动态参数

五,artifactory的调用语法:https://www.jfrog.com/confluence/display/RTF/Working+With+Pipeline+Jobs+in+Jenkins

猜你喜欢

转载自blog.csdn.net/davidliuzkw/article/details/85235877