jenkins之pipeline相关概念

jenkins之pipeline相关概念,第1张

pipeline是什么,有什么作用,用groovy语言编写

创建pipeline *** 作步骤:

1、安装jenkins 和安装插件 pipeline。

2、新建一个pipeline项目,在pipeline中加入脚本,构建执行。

部署流水线:Deployment pipeline,从软件版本控制库到用户手中这一过程的自动化表现形式。

所有的部署流水线都写在jenkins-file文件中,需要安装插件pipeline插件后才能使用jenkins-file。

1pipeline最简单的结构

pipeline是什么,用于描述整条流水线是如何进行的。流水线的内容包括执行编译、打包、测试、输出测试报告等步骤。以下5个部分是pipeline的必需存在的,少一个,jenkins都会报错。

2pipeline的步骤

pipeline基本结构决定的是pipeline整体流程。

pipeline plugin的github仓库: >

Parameterized Trigger,参数化触发器。主要用于不同job之间参数传递的场景,可以根据已经完成构建的结果,触发新Job或者传递参数。

比如有个job是用来获取token的,我们可以在构建 *** 作中通过命令行之类的拿到了token,这个token会被其它的job所使用到(这个token job只是例子)

test1 job构建获取到的token值,传递给test、test2两个job,并构建这两个job

在已运行的Jenkins主页中,点击左侧的系统管理—>Configure Global Security进入如下界面:

构建触发器:

表示在什么情况下构建项目,如果选择“Poll SCM”,然后在日程表里填上cron表达式,例如"H/5 ",表示每5分钟检查一次,有代码变更就构建项目。这里我们不选Poll SCM,而是用Gitub插件来做到实时构建。

Github插件:

“系统管理” -> "插件管理" -> "可选插件",搜索“Github plugin”,勾中,直接安装。进入到插件安装页面,待安装成功后,再次进入项目配置页面。这时“构建触发器”里应该多了一项“Build when a change is pushed to GitHub”,选中。接下来要去Github上配置hook。

安装 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 文件示例:

h5服务的部署有两种方式,一是自己搭建web服务,再由nginx等反向代理;二是本方案中的CDN。使用CDN的好处这里就不赘述了

有些人可能会说,还有其他的好多容器可以做到,这里因为涉及到域名映射,对外访问的地址不能是ip,所以我们说大多是使用nginx反向代理来实现。

(但它也不是本文要讲述的方式)

详细的源码我将上传到github仓库,本文梳理出来几个关键实现:

在调试的过程中,我遇到的报错有:

从下图中可以看出,Jenkins应用依赖的guava版本比较低,1101,远低于minio jar 714依赖的版本(251-jre)

那么我们的自定义插件,是否已经是guava 251-jre?答案:是。

注意:我们在jenkinsfile文件中,写法见下:

上面的pipeline语句"uploadFile debug: true, ossType: ossType"对应源码是:

以上就是关于jenkins之pipeline相关概念全部的内容,包括:jenkins之pipeline相关概念、VS程序编译通过,jenkins构建错误,无法识别新的语法,应该是 .NetFramework的问题,不知道应该如何处理、Jenkins参数化构建插件_Parameterized Trigger等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/web/9454629.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存