jenkins 应用file parameter

jenkins 应用file parameter,第1张

研究jenkins parameters发现其提供了file 类型的参数。但是发现官方文档和我们大大小小的job,都没有推荐或使用这个参数。那么这个参数有用吗?还有为啥官网都没有示例,但是参数类型却在呢?

带着疑问,搜了下jenkins issues。发现这个参数其实很早就提出来了,但是一直还处于开发阶段,涉及到file,影响的点很多。我们能想到包含这些:IO,文件大小,文件类型,文件样式,文件解析,文件存储,异常处理等等。

但是有没有办法解决呢?有的。我去爬楼发现了这个方法:

在share library里配置以下信息(share library的配置可以看早期写的文章: >

Jenkins奇技*巧 — 安装篇(mac)

Jenkins奇技*巧 — 配置篇

Jenkins奇技*巧 — 安全篇

Jenkins奇技*巧 — 发送邮件篇

Jenkins奇技*巧 — 全局变量篇

Jenkins奇技*巧 — 新建任务篇

Jenkins奇技*巧 — 插件

Jenkins奇技*巧 — 问题篇

Jenkins奇技*巧 — 命令篇

Jenkins奇技*巧 — 环境配置篇(Android自动化构建)

Jenkins奇技*巧 — 参数化构建篇(Android自动化构建)

Jenkins奇技*巧 — 第一次实战篇(Android自动化构建)

Jenkins奇技*巧 — Python打包篇(Android自动化构建)

Jenkins奇技*巧 — Python发送邮件和上传蒲公英(Android自动化构建)

Jenkins奇技*巧 — 乐固,多渠道打包篇(Android自动化构建)

Jenkins奇技*巧 — 节点管理篇

Jenkins奇技*巧 — 优秀文章篇

第一个plugin

是可以将第一job本次运行参数写入一个文件中,供其他job调用;第二个plugin

可以将第一job本次运行参数通过冲命名参数名,将数值传递给下游job使用;

至于你所说下游job

参数化

构建过程是否能调用成功,就要看jenkins是否支持你的构建脚本运行工具,经测试传递的参数在ftp命令行是不能读取的;据此可以推论,此plugin传递的参数是无法传递进入第三方命令行。

安装 JDK Maven 并配置 Maven 仓库 settingsxml

使用脚手架创建项目

运行, 注意需要在 pipeline 下测试插件,jenkins 需要先安装 pipeline 插件

打包插件并安装

mvn package 生成一个 hpi 文件,直接在 jenkins 后台上传即可。

Jenkins 插件开发就是对于一系列的「扩展点」进行扩展实现自定义的功能。

扩展点是 Jenkins 系统某个方面的接口或抽象类。这些接口定义了需要实现的方法,而 Jenkins 插件就需要实现这些方法,比如我写的插件需要实现 Builder 这个扩展点:

Descriptor 静态内部类是一个类的描述者,用于指明这是一个扩展点的实现,Jenkins 通过这个描述者才能知道我们写的插件。每一个描述者静态类都需要呗 @Extension 注解,Jenkins 内部会扫描 @Extension 注解来获取注册了哪些插件:

@DataBoundConstructor 注解作用于构造器上,用于在页面上配置的插件参数

Jenkins 插件的页面使用 jelly , 一个正常的插件可以分成 3 个 jelly 文件:

请注意 configjelly 文件的位置,它的文件名需要与插件的类名一致

configjelly 文件示例:

在作业配置中,配置一个String参数,调用“ MyDescription ”。在构建步骤某处,“执行Shell ”或“执行Windows批处理命令”键入 echo Desc:$ MyDescription 在后期构建步骤中,选择“”>“设置构建描述“。

需求:jenkins使用中需要根据用户ID去显示生成环境参数,例如有一个 发布环境参数mode ,user1_develop和user2_develop只看到develop选项,user_dev只能看到dev选项,user_admin可以看到所有选项;

实现:mode参数使用 Active Choice Parameter 类型,Script 选择Groovy Script

import hudsonmodelUser

user=Usercurrent()

if( usergetId() indexOf("_develop") > -1){

    return ["develop"]

}else if( usergetId() indexOf("_dev") > -1){

    return ["dev"]

}else if( usergetId() indexOf("_admin") > -1){

    return ["develop","dev","product"]

}

以上就是关于jenkins 应用file parameter全部的内容,包括:jenkins 应用file parameter、Jenkins插件、Jenkins奇技淫巧 — 全局变量篇等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9436901.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存