Jenkins知识点记录

一、Jenkins是什么/h1>
  1. 什么是DevOpts基百科:DevOps(Development和Operations的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。

  2. 什么是SCM工具度百科:软件配置管理(SCM)是一种标识、组织和控制修改的技术。是指通过执行版本控制、变更控制的规程,以及使用合适的配置管理软件,来保证所有配置项的完整性和可跟踪性。配置管理是对工作成果的一种有效保护。

  3. 什么是CI持续集成,持续集成强调开发人员提交了新代码之后,立刻进行构建、(单元)测试。根据测试结果,我们可以确定新代码和原有代码能否正确地集成在一起。

  4. 什么是CD持续部署,是在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境(类生产环境)中。

  5. 什么是jenkins基百科:Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成。最常用的CI工具

  6. 什么是Jenkins pipeline是运行于Jenkins上的工作流框架,将原本独立运行的单个或多个节点的任务连接起来,实现单个任务难以完成的复杂流程编排与可视化。Jenkins Pipeline是一组插件,让Jenkins可以实现持续交付管道的落地和实施。jenkins 2.x引入的新特性

  7. 什么是jenkinsfileJenkinsfile是一个文本文件,里面书写了piepline。

  8. 什么是Blue Oceanlue Ocean是pipeline的可视化UI。同时他兼容经典的自由模式的job。jenkins 2.0引入

  9. 什么是jenkins Mavenaven是一个项目管理工具。参考博客:https://blog.csdn.net/qq_45335806/article/details/114948788

  10. Declarative pipeline(指令式piepline)和Scripted pipeline(脚本式piepline)的比较
    来自博客:https://blog.csdn.net/weixin_41988331/article/details/81672128
    共同点:
      两者都是pipeline代码的持久实现,都能够使用pipeline内置的插件或者插件提供的steps,两者都可以利用共享库扩展。 区别:
      两者不同之处在于语法和灵活性。Declarative pipeline对用户来说,语法更严格,有固定的组织结构,更容易生成代码段,使其成为用户更理想的选择。但是Scriptedpipeline更加灵活,因为 Groovy本身只能对结构和语法进行限制,对于更复杂的pipeline来说,用户 可以根据自己的业务进行灵活的实现和扩展。

二、Jenkins架构

jenkins架构,这个博客写得直观明了,可以看看哦,下图片应用该博客:https://blog.csdn.net/weixin_40046357/article/details/105355625

Jenkins知识点记录
jobs:任务
users:jenkins用户管理,可以设置权限
plugins: 插件,jenkins很多功能都需要插件来实现
credentials:为一些敏感信息加密,生成凭证。例如连接 git的秘钥等
nodes/clouds:nodes连接节点(ssh和jnlp鉴权连接方式),clouds 可以连接K8s部署的服务器集群。
globalconfig:jenkins全局变量

三、jenkins 常用插件

  1. 权限及其用户管理插件:LDAP管理权限
  2. 代码管理插件:Git
  3. 项目及视图插件:Folder,job目录形式管理;List View Jenkins,默认支持List类型的视图;Sectioned View 分类视图;Build Pipeline 用于显示上下游关系的视图
  4. 构建触发插件:Gerrit Trigger,Gerrit Trigger 内置插件;Gerrit Trigger, 可以从gerrit上触发jenkins
  5. 构建通知插件:Mailer ,Email Extension 插件支持构建结果邮件发送
  6. 容器化slave: docker,k8s插件支持容器化调度与构建

四、jenkins piepline写法

1. 语法关键字介绍

  • pipeline{}:顶层语句,申明piepline
  • agent{}:定义节点, 参数有 any,none(若顶层为none,则需要每个stage中指定),lable,node{‘label’:},docker, dockerfile
  • stages{},stage{}:业务模块(阶段)定义;stages嵌套多个stage,stages{stage{}, stage{}}
  • parallel{stage{}, stage{}}:实现job并发
  • steps{}:步骤,嵌套在stage里面
  • environment{k:v,}: 定义环境变量
  • options{}: 定义pipeline或者plugin的参数设置。例如:retry,timeout等
  • parameters: 定义了整个pipeline的外部参数,必须有默认值,用户也可以在启动时指定新的参数
  • triggers: 定义如何触发pipeline,例如cron
  • tools: 定义需要安装的工具,且会自动加入到PATH
  • input: 允许pipeline与用户交互,等待用户确认然后继续。
  • when: 条件语句
  • script{}: 脚本
  • post{}:定义pipeline最后执行的一组任务,支持多种条件判断always, changed, fixed, regression, aborted,failure, success, unstable, unsuccessful, and cleanup.

2. Jenkinsfile文件(Declarative pipeline和Scripted pipeline)

查看这个博客:语法很简单,https://www.cnblogs.com/itech/p/12747740.html

总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

来源:半斗烟草

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年2月24日
下一篇 2022年2月24日

相关推荐