Jenkins知识点记录

一、Jenkins是什么?

  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. 什么是jenkinsfile? Jenkinsfile是一个文本文件,里面书写了piepline。

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

  9. 什么是jenkins Maven?Maven是一个项目管理工具。参考博客: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
在这里插入图片描述
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提供了大量能使我们快速便捷地处理数据的函数和方法。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值