【CICD】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 页面出现。

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

注意:

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

安装 Jenkins 插件

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

创建第一个管理员账号

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

注意:

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

主页信息概览

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

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

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

主要功能菜单

新建任务

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

自由风格项目

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

  • 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 命令等动作,构建步骤可以添加多个,会按顺序执行
  • 构建后操作:定义构建完成后要执行的动作
  •   构建完成后,可以推送 HTML 的报告、开始另一项构建、发送 E-mail 通知、清理工作空间等等
流水线项目

  • 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 中读取

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

用户列表

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

构建历史

所有项目的构建历史信息

项目关系

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

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

检查文件指纹

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

系统管理

系统配置
系统配置

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

全局工具配置

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

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

插件管理

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

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

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

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

  • 新建节点:
  • 首先输入节点名称(自定义)
  • 其次填写节点信息
  • Host key verification Strategy:主机密钥验证策略
  • ​​【SSH】密码登录和免密登录​​
  •       此处如果为了方便,可以选择 Non Verifying verification Strategy,也就是不做验证
  • 添加凭据-用户名和密码
  • Configure Clouds:配置云信息,如 Kubernetes,参考 ​​【Jenkins】弹性启动 Jenkins-slave 完成构建任务​​
  • 节点监控:设置节点需要监控的内容
安全
全局安全配置

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

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

Manage Credentials 凭据管理

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

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

  1. 更新
凭据配置

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

管理用户

创建、删除或修改 Jenkins 用户

  1. 新建用户
  2. 设置
  1.   当前用户设置,一般情况下保持默认设置即可
  in-process script approval 进程内的脚本批准
  1.   为了保护 Jenkins 免受恶意脚本的执行,当检测到脚本中出现不安全的语句时,会被 Jenkins 拒绝,报错举例:
  2.   如果希望继续执行,需要由管理员批准该脚本是否可以执行
状态信息
系统环境

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

系统日志

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

负载统计

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

关于Jenkins

查看历史版本以及 License

问题排查

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

工具和动作
读取设置

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

Jenkins 命令行接口

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

脚本命令行

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

准备关机

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/467645.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Hive:数据仓库利器

1. 简介 Hive是一个基于Hadoop的开源数据仓库工具,可以用来存储、查询和分析大规模数据。Hive使用SQL-like的HiveQL语言来查询数据,并将其结果存储在Hadoop的文件系统中。 2. 基本概念 介绍 Hive 的核心概念,例如表、分区、桶、HQL 等。 …

Chrome历史版本下载地址:Google Chrome Older Versions Download (Windows, Linux Mac)

最近升级到最新版本Chrome后发现页面居然显示错乱,是在无语, 打算退回原来的版本, 又发现官方只提供最新的版本下载, 为了解决这个问题所有收集了Chrome历史版本的下载地址分享给大家. Google Chrome Windows version 32-bit VersionSizeDate104.0.5112.10279.68 MB2022-05-30…

TT-100K数据集,YOLO格式

TT-100K数据集YOLO格式,分为train、val和test,其中train中共有6793张图片,val中共有1949张图片,test中共有996张图片。数据集只保留包含图片数超过100的类别。共计46类。

uniapp微信小程序随机生成canvas-id报错?

uniapp微信小程序随机生成canvas-id报错? 文章目录 uniapp微信小程序随机生成canvas-id报错?效果图遇到问题解决 场景: 子组件,在 mounted 绘制 canvas;App、H5端正常显示,微信小程序报错; 效…

信息系统项目管理师019:存储和数据库(2信息技术发展—2.1信息技术及其发展—2.1.3存储和数据库)

文章目录 2.1.3 存储和数据库1.存储技术2.数据结构模型3.常用数据库类型4.数据仓库 记忆要点总结 2.1.3 存储和数据库 1.存储技术 存储分类根据服务器类型分为:封闭系统的存储和开放系统的存储。封闭系统主要指大型机等服务器。开放系统指基于包括麒麟、欧拉、UNIX…

MacBook远程桌面Windows使用Microsoft Remote Desktop for Mac_亲测使用

MacBook远程桌面Windows使用Microsoft Remote Desktop for Mac_亲测使用 像Windows上有自带的远程桌面连接软件.MacBook没有自带的远程连接Windows桌面的工具,需要安装软件来实现. 像远程桌面控制软件一般有 TeamViewer、向日葵远程控制, ToDesk, Microsoft Remote Desktop f…

【ZooKeeper3、Watcher机制

本文基于 Apache ZooKeeper Release 3.7.0 版本书写 作于 2022年5月15日 17:22:11 转载请声明 演示前的ZooKeeper目录状态,只有zookeeper默认目录: 在客户端直接输入 --help 命令,可以看到以下文字: 可以看到 addWatch 命令&am…

视频桥接芯片#LT8912B适用于MIPIDSI转HDMI+LVDS应用方案,提供技术支持。

1. 概述 Lontium LT8912B MIPI DSI 转 LVDS 和 HDMI 桥接器采用单通道 MIPI D-PHY 接收器前端配置,每通道 4 个数据通道,每个数据通道以 1.5Gbps 的速度运行,最大输入带宽高达 6Gbps。 对于屏幕应用,该桥接器可解码 MIPI DSI 18bp…

【QED】斐波那契游戏

文章目录 题目思路代码复杂度分析时间复杂度空间复杂度 总结 题目 题目链接🔗 斐波那契数列指的是这样一个数列:1,1,2,3,5,8,13,21,34,55&#x…

Docker部署TeamCity来完成内部CI、CD流程

使用TeamCity来完成内部CI、CD流程 本篇教程主要讲解基于容器服务搭建TeamCity服务,并且完成内部项目的CI流程配置。至于完整的DevOps,我们后续独立探讨。 一个简单的CI、CD流程 以下分享一个简单的CI、CD流程(仅供参考)&#…

C++进阶之路---手撕“红黑树”

顾得泉:个人主页 个人专栏:《Linux操作系统》 《C从入门到精通》 《LeedCode刷题》 键盘敲烂,年薪百万! 一、红黑树的概念与性质 1.概念 红黑树,是一种二叉搜索树,但在每个结点上增加一个存储位表示结点…

大数据开发-数据仓库简介

文章目录 什么是数据仓库数据仓库基础知识数据仓库的建模方式数据仓库分层数据仓库的命名规范典型数仓系统架构 什么是数据仓库 数据仓库(Data Warehouse)是一个面向主题的、集成的、稳定的且随时间变化的数据集合,用于支持管理人员的决策 面向主题:类…

怎么做好独立站的SEO优化

随着全球贸易的蓬勃发展,越来越多的企业开始关注外贸市场,并将目光投向了外贸网站。然而,在竞争激烈的外贸市场中,如何写出吸引人的文章,以及如何优化网站以在搜索引擎中脱颖而出,成为了外贸独立网站必须面…

前端 -- 基础 表单标签 -- 表单域

表单域 # 表单域是一个包含 表单元素 的区域 在 HTML 标签中&#xff0c; <form> 标签 用于定义表单域&#xff0c; 以实现用户信息的收集和传递 简单通俗讲&#xff0c; 就是 <form> 会把它范围内的表单元素信息提交给后台&#xff08;服务器) 对于上面讲…

外贸网站文章批量生成器

随着全球贸易的不断发展&#xff0c;越来越多的企业开始关注外贸市场&#xff0c;而拥有高质量的内容是吸引潜在客户的关键之一。然而&#xff0c;为外贸网站生产大量优质的文章内容可能是一项耗时且繁琐的任务。因此&#xff0c;外贸网站文章批量生成软件成为了解决这一难题的…

MATLAB教程

目录 前言一、MATLAB基本操作1.1 界面简介1.2 搜索路径1.3 交互式命令操作1.4 帮助系统 二、MATLAB语言基础2.1 数据类型2.2 MATLAB运算2.2.1 算数运算2.2.2 关系运算2.2.3 逻辑运算 2.3 常用内部函数2.4 结构数据与单元数据 三、MATLAB程序设计3.1 M文件3.2 函数文件3.3 程序控…

1688商品详情API接口采集商品上货

阿里巴巴1688平台并没有直接公开商品详情API接口供普通用户或开发者进行商品采集和上货。1688平台主要服务于批发和采购业务&#xff0c;其API服务通常面向的是有深度合作关系的商家或开发者&#xff0c;且需要经过申请和审核流程。 请求示例&#xff0c;API接口接入Anzexi58 …

【重温设计模式】观察者模式及其Java示例

观察者模式的概念和原理 在编程世界中&#xff0c;设计模式作为一种解决问题的策略&#xff0c;它的存在就如同人类语言中的成语&#xff0c;是一种经过时间考验的有效解决方案。 观察者模式就是其中一种重要的设计模式&#xff0c;它在很多场景中都有着广泛的应用。那么&…

【开发】Redis 的理解与数据存储格式

目录 相关传送门 1. NOSQL和关系型数据库比较 2. 主流的NOSQL产品 3. Redis的理解 4. redis数据存储格式 4.1 String 4.2 Hash 4.3 List 4.4 Set 4.5. sorted_set 注&#xff1a;手机端浏览本文章可能会出现 “目录”无法有效展示的情况&#xff0c;请谅解&#xf…

旅游行业分析及媒体邀约资源汇总

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 酒店旅游行业分析及媒体邀约资源汇总是两个相对独立但又相互关联的领域。下面将分别对这两个方面进行概述。 酒店旅游行业分析 1. 市场概况 市场规模&#xff1a;评估市场的总价值、增长…