【CICD】Jenkins 常用操作手册,Jenkins常用操作手册,CICD实践指南

马肤

温馨提示:这篇文章已超过375天没有更新,请注意相关的内容是否还可用!

【CICD】Jenkins 常用操作手册摘要:,,本操作手册介绍了 Jenkins 在 CICD(持续集成与持续部署)流程中的常用操作。手册内容涵盖 Jenkins 的安装与配置、项目设置、构建管理、自动化测试、代码质量检查以及部署等方面。通过本手册,用户可以快速了解并掌握 Jenkins 的基本操作和高级功能,以提高开发流程的效率和质量。

常见词汇

词汇

说明

Node

作为 Jenkins 环境的一部分并能够执行Pipeline或项目的机器,无论是 Master 还是Agent 都被认为是 Node。

Master

存储配置,加载插件以及为 Jenkins 呈现各种用户界面的主控节点

Agent

通常是一台主机或容器,连接到 Jenkins 主控节点,并执行主控节点下发的任务

Executor

节点上执行由 Pipeline 或 Project 定义的任务的抽象槽位。一个节点可以配置 0 个或多个 executor,这与该节点上能够执行的并发项目或 pipeline 的数量相对应。

Label

用于给 Agent 做分组的用户定义的文本

Plugin

插件,为 Jenkins 提供各种扩展功能

Project

由用户定义的,用来描述 Jenkins 执行的任务

Pipeline

用户定义的用于持续集成的流水线模型

Workspace

Node 文件系统上的一个一次性目录,Pipeline 或 Project 可以在这里完成工作。除非在 Jenkins Master 上已经设置清理策略,否则在构建或管道运行完成后,工作区通常会保留。

Stage

Pipeline的一部分,用于定义整个 Pipeline 的概念上不同的子集。例如:“构建”,“测试”和“部署”

Step

单一任务;告诉 Jenkins 需要在管道或项目中做什么的基本步骤。

Publisher

完成所有配置步骤后的构建部分,包括发布报告、发送通知等

Trigger

触发新 Pipeline 运行或构建的标准

初始化设置

在首次完成安装之后,会进入安装向导。安装向导会引导用户完成几个快速“一次性”步骤来解锁 Jenkins, 选择安装插件对其进行自定义,并创建第一个可以继续访问 Jenkins 的管理员用户。

解锁 Jenkins

当第一次访问新的 Jenkins 实例时,系统会要求使用自动生成的密码对其进行解锁。

  1. 浏览到 ​​http://localhost:8080​​(或安装时为 Jenkins 配置的任何端口),并等待 解锁 Jenkins 页面出现。

【CICD】Jenkins 常用操作手册,Jenkins常用操作手册,CICD实践指南 第1张

  1. 从 Jenkins 控制台日志输出中,复制自动生成的字母数字密码(在两组星号之间)。

【CICD】Jenkins 常用操作手册,Jenkins常用操作手册,CICD实践指南 第2张

注意:

  • 如果以容器方式运行 Jenkins,则可以从Jenkins的启动日志中查看到该密码。
  • 如果丢失了首次启动的日志,还可以从安装目录 /var/jenkins_home/secrets/initialAdminPassword 中找到该密码
    1. 在 解锁Jenkins 页面上,将此 密码 粘贴到管理员密码字段中,然后单击 继续 。

    安装 Jenkins 插件

    解锁 Jenkins 之后,在 Customize Jenkins 页面内, 可以安装任何数量的有用插件作为初始步骤的一部分。

    【CICD】Jenkins 常用操作手册,Jenkins常用操作手册,CICD实践指南 第3张

    创建第一个管理员账号

    在完成插件安装之后,Jenkins 要求创建第一个管理员用户。 出现“ 创建第一个管理员用户 ”页面时,请在各个字段中指定管理员用户的详细信息,然后单击 保存完成 。 当 Jenkins准备好了 出现时,单击 开始使用 Jenkins。

    【CICD】Jenkins 常用操作手册,Jenkins常用操作手册,CICD实践指南 第4张

    注意:

    该页面可能长时间显示 Jenkins几乎准备好了! 如果是这样,请单击 重启 。如果该页面在一分钟后没有自动刷新,请使用 Web 浏览器手动刷新页面。

    主页信息概览

    【CICD】Jenkins 常用操作手册,Jenkins常用操作手册,CICD实践指南 第5张

    如图所示是 Jenkins 的主页,右侧部分是默认的用户视图,展示的内容是属于当前用户的所有项目(任务)列表和简要信息。

    【CICD】Jenkins 常用操作手册,Jenkins常用操作手册,CICD实践指南 第6张

    红框中图例表示的是项目或任务的构建状态,更多图例所表示的含义参考如下:

    【CICD】Jenkins 常用操作手册,Jenkins常用操作手册,CICD实践指南 第7张

    【CICD】Jenkins 常用操作手册,Jenkins常用操作手册,CICD实践指南 第8张

    左下角是构建菜单队列,展示的是目前排队中的构建任务和当前执行中的构建任务状态(两个 executor)。

    【CICD】Jenkins 常用操作手册,Jenkins常用操作手册,CICD实践指南 第9张

    主要功能菜单

    新建任务

    点击新建任务可以看到如下菜单,该页面是创建新任务的入口。一般情况下,选择构建一个自由风格的软件项目即可,如果需要使用 pipeline 的方式来构建,则可以选择流水线。本手册主要针对自由风格和流水线两种任务的创建页面做说明。

    【CICD】Jenkins 常用操作手册,Jenkins常用操作手册,CICD实践指南 第10张

    自由风格项目

    【CICD】Jenkins 常用操作手册,Jenkins常用操作手册,CICD实践指南 第11张

    【CICD】Jenkins 常用操作手册,Jenkins常用操作手册,CICD实践指南 第12张

    自由风格的项目的创建页面如上图所示,主要分为如下几个部分:

    • General:项目的总体设置
      • 描述:对项目的描述信息
      • GitHub项目:如果是 GitHub 管理的项目,可以勾选此处
      • This build requires lockable resources:用来阻止多个构建在同一时间试图使用同一个资源。这里的资源可能是一个节点、一个代理节点、一组节点或代理节点的集合,或者仅仅是一个用于上锁的名字
      • Throttle builds:限制一定时间周期内,两次构建间隔的最短时间(从上次构建后开始算,时间不到不允许执行构建)
      • 丢弃旧的构建:通过设置最长保留天数和最多记录数量,来决定什么时候丢弃比较老的构建记录
      • 参数化构建过程:允许用户通过界面输入一个或多个将被传递到构建中的输入,参数类型包括文本,字符,多选框等等
      • 在必要的时候并发构建:默认情况下,一个项目同一时间只进行一次构建,勾选此功能可并发进行
      • 限制项目的运行节点:通过标签 label 来限制构建运行在那些节点或容器中
        • 源码管理:项目的源码配置
          • 无:就是没有源码管理工具
          • Git:Git 插件为 Jenkins 项目提供了基本的 Git 操作。它可以轮询、获取、检出存储库的内容。
            • Repository URL: Git 仓库地址
            • Credentials:用于检出源码的凭据,可通过“添加”按钮新增
            • Branches to build:要构建的分支列表。当每个作业只构建一个分支时,Jenkins作业是最有效的。
            • 源码库浏览器:在构建“变更”处添加一个链接到外部系统查看变化(不常用,默认即可)
              • 构建触发器:选择由哪些方式触发构建任务
                • 触发远程构建(例如使用脚本):通过访问一个特殊的预定义URL(预置脚本)来触发新的构建
                • 其他工程构建后触发:在其他构建任务完成后,为此项目触发一个新的构建任务
                • 定时构建:提供类似cron的特性来定期执行此项目。
                • GitHub hook trigger for GITScm polling:用于GITScm轮询的GitHub钩子触发器,只要 Github上有提交就会触发向 Jenkins 发送构建请求的钩子,从而触发构建
                • 轮询 SCM:与 GitHub 钩子不同,该选项设置的是由 Jenkins 主动发起轮询,如果发现源码仓库有新的修改,就会触发构建
                  • 构建环境:和构建环境相关的配置
                    • Delete workspace before build starts:在构建之前清空工作空间
                    • Use secret text(s) or file(s):通过新增来绑定一系列凭证信息,并允许您在shell构建步骤或类似步骤中获取并使用它们。
                    • Add timestamps to the Console Output:在控制台输出信息中添加时间戳信息
                    • Bind file parameter:将可选参数以文件形式绑定到从工作区可访问的本地文件中
                    • Inspect build log for published Gradle build scans:检查已发布的Gradle构建扫描的构建日志
                    • Terminate a build if it's stuck:如果构建任务卡住就终止构建
                    • With Ant:为 Jenkins 准备一个使用 Apache Ant 运行构建的环境。
                      • Build Steps:定义构建步骤
                        •   通过选择不同类型的构建步骤,可以执行如 Groovy 脚本、Ant 脚本、Windows 批处理命令、Shell 命令等动作,构建步骤可以添加多个,会按顺序执行
                        • 【CICD】Jenkins 常用操作手册,Jenkins常用操作手册,CICD实践指南 第13张

                          • 构建后操作:定义构建完成后要执行的动作
                            •   构建完成后,可以推送 HTML 的报告、开始另一项构建、发送 E-mail 通知、清理工作空间等等
                            • 【CICD】Jenkins 常用操作手册,Jenkins常用操作手册,CICD实践指南 第14张

                              流水线项目

                              【CICD】Jenkins 常用操作手册,Jenkins常用操作手册,CICD实践指南 第15张

                              【CICD】Jenkins 常用操作手册,Jenkins常用操作手册,CICD实践指南 第16张

                              • general:项目的总体设置
                                • GitHub项目:如果是 GitHub 管理的项目,可以勾选此处
                                • Preserve stashes from completed builds:保存项目最近完成的构建的内容,供下次使用
                                • Throttle builds:限制一定时间周期内,两次构建间隔的最短时间(从上次构建后开始算,时间不到不允许执行构建)
                                • 不允许并发构建:同一时间不会存在两份构建任务
                                • 丢弃旧的构建:通过设置最长保留天数和最多记录数量,来决定什么时候丢弃比较老的构建记录
                                • 参数化构建过程:允许用户通过界面输入一个或多个将被传递到构建中的输入,参数类型包括文本,字符,多选框等等
                                • 当 master 重启后,不允许恢复流水线:主控节点重启后,不会继续构建任务
                                • 流水线效率、持久保存设置覆盖:更改运行pipeline的默认持久性模式,是对流水线运行性能和Jenkins意外中断后恢复流水线的能力的设置
                                  • 构建触发器:
                                    • 触发远程构建(例如使用脚本):通过访问一个特殊的预定义URL(预置脚本)来触发新的构建
                                    • 其他工程构建后触发:在其他构建任务完成后,为此项目触发一个新的构建任务
                                    • 定时构建:提供类似cron的特性来定期执行此项目。
                                    • GitHub hook trigger for GITScm polling:用于GITScm轮询的GitHub钩子触发器,只要 Github上有提交就会触发向 Jenkins 发送构建请求的钩子,从而触发构建
                                    • 轮询 SCM:与 GitHub 钩子不同,该选项设置的是由 Jenkins 主动发起轮询,如果发现源码仓库有新的修改,就会触发构建
                                    • 静默期:如果设置此选项,一个计划中的构建在开始之前需要等待选项中设置的秒数后才会开始。
                                      • 高级项目选项:
                                        • 显示的名称:项目对外显示的名称,仅用于显示目的,不需要是唯一的。
                                          • 流水线:以流水线语法构成的脚本文件定义构建流程,可以直接在输入框内写入脚本,也可以从检出的源码中的 Jenkinsfile 中读取
                                            • 【CICD】Jenkins 常用操作手册,Jenkins常用操作手册,CICD实践指南 第17张

                                            • 【CICD】Jenkins 常用操作手册,Jenkins常用操作手册,CICD实践指南 第18张

                                            • SCM:指定从哪里检出源码仓库
                                            • Git:一般情况下都使用 Git 作为源码仓库管理
                                              • Repository URL: Git 仓库地址
                                              • Credentials:用于检出源码的凭据,可通过“添加”按钮新增
                                              • Branches to build:要构建的分支列表。当每个作业只构建一个分支时,Jenkins作业是最有效的。
                                              • 源码库浏览器:在构建“变更”处添加一个链接到外部系统查看变化(不常用,默认即可)
                                                • 脚本路径:指定从那个文件路径获取,一般情况下,约定项目根目录下的 Jenkinsfile 文件作为脚本

                                                  用户列表

                                                  展示当前 Jenkins 环境中所有的用户

                                                  【CICD】Jenkins 常用操作手册,Jenkins常用操作手册,CICD实践指南 第19张

                                                  构建历史

                                                  所有项目的构建历史信息

                                                  【CICD】Jenkins 常用操作手册,Jenkins常用操作手册,CICD实践指南 第20张

                                                  项目关系

                                                  拥有相互依赖的项目时,Jenkins 可以通过使用指纹支持创建的记录跟踪上游项目的哪个构建被下游项目的哪个构建使用。要实现此功能,需要满足以下条件:

                                                  • 上游项目记录其构建工件的指纹。
                                                  • 下游项目记录它所使用的上游文件的指纹。

                                                    检查文件指纹

                                                    通过上传一个 jar 包,检查其版本号以及是否是由当前 Jenkins 构建而来的

                                                    【CICD】Jenkins 常用操作手册,Jenkins常用操作手册,CICD实践指南 第21张

                                                    系统管理

                                                    【CICD】Jenkins 常用操作手册,Jenkins常用操作手册,CICD实践指南 第22张

                                                    系统配置
                                                    系统配置

                                                    配置系统全局设置,如 Jenkins 存储所有数据文件的的目录等全局系统信息,一般情况下保持默认配置即可

                                                    【CICD】Jenkins 常用操作手册,Jenkins常用操作手册,CICD实践指南 第23张

                                                    全局工具配置

                                                    工具配置,包括他们的安装位置和自动安装工具

                                                    设置例如 Maven、JDK、Git、Ant 等工具的安装位置,或者通过配置安装工具实现自动安装

                                                    【CICD】Jenkins 常用操作手册,Jenkins常用操作手册,CICD实践指南 第24张

                                                    插件管理

                                                    添加、删除、禁用或启用 Jenkins 功能扩展插件

                                                    【CICD】Jenkins 常用操作手册,Jenkins常用操作手册,CICD实践指南 第25张

                                                    • 更新插件:展示可更新插件列表
                                                    • 可用插件:展示全部可使用插件列表
                                                    • 已安装插件:展示已安装插件列表,可在此禁用或启用指定插件
                                                    • 高级设置:设置插件服务器的代理地址、用户名、密码或通过手动上传插件包安装插件
                                                      节点管理

                                                      添加、删除、控制和监视系统运行任务的节点。

                                                      在使用jenkins的时候,建议是将任务运行在 slave 上面。并非 master 节点不能跑任务,而是 master 节点主要是处理调度构建作业,把构建分发到 slave 节点进行实际执行,监视 slave 节点的状态(必要时让它们进行上线或者离线),记录和发布构建产物。

                                                      【CICD】Jenkins 常用操作手册,Jenkins常用操作手册,CICD实践指南 第26张

                                                      • 新建节点:
                                                        • 首先输入节点名称(自定义)
                                                        • 其次填写节点信息
                                                          • 【CICD】Jenkins 常用操作手册,Jenkins常用操作手册,CICD实践指南 第27张

                                                          • 【CICD】Jenkins 常用操作手册,Jenkins常用操作手册,CICD实践指南 第28张

                                                          • Host key verification Strategy:主机密钥验证策略
                                                            • ​​【SSH】密码登录和免密登录​​
                                                            •       此处如果为了方便,可以选择 Non Verifying verification Strategy,也就是不做验证
                                                              • 添加凭据-用户名和密码
                                                              • 【CICD】Jenkins 常用操作手册,Jenkins常用操作手册,CICD实践指南 第29张

                                                                • Configure Clouds:配置云信息,如 Kubernetes,参考 ​​【Jenkins】弹性启动 Jenkins-slave 完成构建任务​​
                                                                • 节点监控:设置节点需要监控的内容
                                                                  安全
                                                                  全局安全配置

                                                                  Jenkins 的安全配置,定义谁可以访问或使用系统

                                                                  一般情况下,使用默认设置即可,关闭自由注册功能,由管理员负责创建新的账号分发给不同用户

                                                                  Manage Credentials 凭据管理

                                                                  可以对 Jenkins 使用过程中需要用到的各种凭据信息做管理,包括凭据的作用域管理(全局凭据或仅仅在某个节点有效)和凭据的增删改查

                                                                  【CICD】Jenkins 常用操作手册,Jenkins常用操作手册,CICD实践指南 第30张

                                                                  1. 添加凭据
                                                                  • 类型:凭据的类型
                                                                  • ​​Username with password​​ :用户名和密码
                                                                    • ​​SSH Username with private key​​​ : 使用​​SSH​​用户和密钥
                                                                    • ​​Secret file​​​ :需要保密的文本文件,使用时​​Jenkins​​​会将文件复制到一个临时目录中,再将文件路径设置到一个变量中,等构建结束后,所复制的​​Secret file​​就会被删除。
                                                                    • ​​Secret text​​​ :需要保存的一个加密的文本串,如钉钉机器人或​​Github​​​的​​api token​​
                                                                    • ​​Certificate​​ :通过上传证书文件的方式
                                                                      1. 更新
                                                                      凭据配置

                                                                      管理哪些凭据类型可见,一般情况下保持默认配置即可

                                                                      【CICD】Jenkins 常用操作手册,Jenkins常用操作手册,CICD实践指南 第31张

                                                                      管理用户

                                                                      创建、删除或修改 Jenkins 用户

                                                                      【CICD】Jenkins 常用操作手册,Jenkins常用操作手册,CICD实践指南 第32张

                                                                      1. 新建用户
                                                                      2. 设置
                                                                      1.   当前用户设置,一般情况下保持默认设置即可
                                                                        in-process script approval 进程内的脚本批准
                                                                      1.   为了保护 Jenkins 免受恶意脚本的执行,当检测到脚本中出现不安全的语句时,会被 Jenkins 拒绝,报错举例:
                                                                      2. 【CICD】Jenkins 常用操作手册,Jenkins常用操作手册,CICD实践指南 第33张

                                                                      3.   如果希望继续执行,需要由管理员批准该脚本是否可以执行
                                                                      状态信息
                                                                      系统环境

                                                                      显示系统环境信息,系统属性、环境变量、安装的插件、内存使用情况

                                                                      系统日志

                                                                      从 java.util.logging 方法捕获的 Jenkins 系统日志

                                                                      【CICD】Jenkins 常用操作手册,Jenkins常用操作手册,CICD实践指南 第34张

                                                                      负载统计

                                                                      检查资源利用情况,是否需要更多计算机来帮助构建

                                                                      关于Jenkins

                                                                      查看历史版本以及 License

                                                                      【CICD】Jenkins 常用操作手册,Jenkins常用操作手册,CICD实践指南 第35张

                                                                      问题排查

                                                                      Jenkins 的所有功能,几乎可以说都是通过插件来实现的。当老版本插件安装过程中产生的配置文件中定义的变量在新版本插件中已经失效,而当前 Jenkins 无法读取的时候,就会提示【您的存储中有无法读取或者旧的数据格式。通过Jenkins的系统管理中的管理旧数据可以看到详细说明】,这是为了让 Jenkins 能够跳过一些插件启动的错误从而能够继续正常启动。而保留旧数据的目的是为了方便插件降级之后可以马上读取这些数据

                                                                      工具和动作
                                                                      读取设置

                                                                      放弃当前内存中所有的设置内容并从配置文件中重新读取,仅用于手动修改了配置文件的情况下,页面也会给出确认提示

                                                                      【CICD】Jenkins 常用操作手册,Jenkins常用操作手册,CICD实践指南 第36张

                                                                      Jenkins 命令行接口

                                                                      从命令行或脚本访问或管理 Jenkins

                                                                      【CICD】Jenkins 常用操作手册,Jenkins常用操作手册,CICD实践指南 第37张

                                                                      脚本命令行

                                                                      执行用于管理或者故障检测的任意脚本命令

                                                                      【CICD】Jenkins 常用操作手册,Jenkins常用操作手册,CICD实践指南 第38张

                                                                      准备关机

                                                                      停止执行新的构建任务以安全的关闭计算机,提供优雅的关闭策略,防止在还有构建任务的时候突然关闭

                                                                      【CICD】Jenkins 常用操作手册,Jenkins常用操作手册,CICD实践指南 第39张


0
收藏0
文章版权声明:除非注明,否则均为VPS857原创文章,转载或复制请以超链接形式并注明出处。

相关阅读

  • 【研发日记】Matlab/Simulink自动生成代码(二)——五种选择结构实现方法,Matlab/Simulink自动生成代码的五种选择结构实现方法(二),Matlab/Simulink自动生成代码的五种选择结构实现方法详解(二)
  • 超级好用的C++实用库之跨平台实用方法,跨平台实用方法的C++实用库超好用指南,C++跨平台实用库使用指南,超好用实用方法集合,C++跨平台实用库超好用指南,方法与技巧集合
  • 【动态规划】斐波那契数列模型(C++),斐波那契数列模型(C++实现与动态规划解析),斐波那契数列模型解析与C++实现(动态规划)
  • 【C++】,string类底层的模拟实现,C++中string类的模拟底层实现探究
  • uniapp 小程序实现微信授权登录(前端和后端),Uniapp小程序实现微信授权登录全流程(前端后端全攻略),Uniapp小程序微信授权登录全流程攻略,前端后端全指南
  • Vue脚手架的安装(保姆级教程),Vue脚手架保姆级安装教程,Vue脚手架保姆级安装指南,Vue脚手架保姆级安装指南,从零开始教你如何安装Vue脚手架
  • 如何在树莓派 Raspberry Pi中本地部署一个web站点并实现无公网IP远程访问,树莓派上本地部署Web站点及无公网IP远程访问指南,树莓派部署Web站点及无公网IP远程访问指南,本地部署与远程访问实践,树莓派部署Web站点及无公网IP远程访问实践指南,树莓派部署Web站点及无公网IP远程访问实践指南,本地部署与远程访问详解,树莓派部署Web站点及无公网IP远程访问实践详解,本地部署与远程访问指南,树莓派部署Web站点及无公网IP远程访问实践详解,本地部署与远程访问指南。
  • vue2技术栈实现AI问答机器人功能(流式与非流式两种接口方法),Vue2技术栈实现AI问答机器人功能,流式与非流式接口方法探究,Vue2技术栈实现AI问答机器人功能,流式与非流式接口方法详解
  • 发表评论

    快捷回复:表情:
    评论列表 (暂无评论,0人围观)

    还没有评论,来说两句吧...

    目录[+]

    取消
    微信二维码
    微信二维码
    支付宝二维码