1987WEB视界-分享互联网热点话题和事件

您现在的位置是:首页 > WEB开发 > 正文

WEB开发

Docker安装Jenkins系统常用插件用途解析

1987web2023-10-06WEB开发57

系统平台

安装准备

通过 docker-compose.yml 方式安装部署,文件内容如下:

有些目录需要提前先创建好,​同时授予相关访问权限。

​然后执行 docker-compose ,这是一个Docker Compose命令,用于在后台启动和运行基于Compose文件定义的容器。

可以看到上面的指令执行后,有提示Container jenkins Started ,

docker-compose: 是用于管理多个Docker容器的工具,通过Compose文件定义了容器之间的关系和配置。

up: 是docker-compose命令的子命令,用于启动指定Compose文件中定义的服务。

-d: 是一个选项,表示以后台(守护进程)模式运行容器。这样可以使容器在后台持续运行,而不会阻塞命令行窗口。

使用docker-compose up -d命令时,Docker Compose将读取当前目录中名为docker-compose.yml 的Compose文件,并根据其中的定义启动相应的服务。Compose文件描述了要创建的服务、镜像、端口映射、环境变量、卷挂载等信息。

在运行docker-compose up -d命令后,Docker Compose将根据Compose文件中的定义,自动下载所需的镜像并启动对应的容器,我之前已经执行过了,定义的镜像也都​下载好了,这时候再次执行,就直接启动容器了。

访问系统

http://ip:port 就可以访问系统页面了

按系统提示查看这个密钥,然后输入​点击继续,在配置几步就可以登录​系统了,如下的重新​登录系统首页。

如下是创建了不同风格的Job展示

如想让 Jenkins 完成很多高级的功能任务,那就要预先善其事,必先利其器,安装必须的插件,才能实现高级​功能。​

我大概安装了 190 多个插件,下面分享一下 Jenkins 系统常用插件的用途解析。

名 称

用 途

Analysis Model API Plugin

分析模型API,用于读取、聚合、筛选和查询静态分析报告。

AnsiColor

ANSI此插件为控制台输出颜色

Ant Plugin

添加了Apache Ant支持

Apache HttpComponents Client 4.x API Plugin

这个插件捆绑了Apache HttpComponents Client 4.5.x的所有组件

Authentication Tokens API Plugin

Jenkins身份验证令牌API插件

Badge

用于添加徽章并从管道中构建摘要条目。

Bitbucket Branch Source Plugin

Bitbucket版本管理组件

Blue Ocean

Blue Ocean是为Pipeline设计的,提高团队每个成员的清晰度。

Bootstrap 5 API Plugin

Bootstrap 世界上最流行的前端组件库,用于在web上构建响应迅速。

bouncycastle API Plugin

这个插件为Bouncy Castle相关任务提供了一个稳定的API

Branch API Plugin

多个基于分支的项目提供了一个API

Build History Manager

构建历史管理器插件

Build History Metrics plugin

计算出的指标显示在每个作业页面的表格中

Build Pipeline Plugin

此插件提供了通常形成构建管道的上游和下游连接作业的构建管道视图

Build Timeout

此插件允许您在构建耗时过长时自动终止构建。

build user vars plugin

一组环境变量,用于描述启动生成的用户。

built-on-column

在jenkins面板上添加一列,显示上一次构建运行的实际节点。

Caffeine API Plugin

开发人员的重要信息

Checks API plugin

插件可以发布带有Jenkins构建自定义参数的检查

Clang Scan-Build Plugin

针对Mac或iPhone XCode项目执行Clang扫描构建。

Cloud Statistics Plugin

收集其他插件的活动并将其可视化,并以API的形式将其提供给其他插件。

Cobertura Plugin

此插件允许您从Cobertura捕获代码覆盖率报告。

Code Coverage API Plugin

收集代码覆盖或突变覆盖工具的报告

Command Agent Launcher Plugin

让Jenkins从控制器执行命令来启动代理,远程执行进程时通过SSH或RSH。

commons-lang3 v3.x Jenkins API Plugin

为Jenkins插件提供了Commons Lang v3.x。

commons-text API Plugin

这个插件为Jenkins插件提供了Commons Text v1.x。

Conditional BuildStep

添加一个充当容器的条件构建步骤,允许您定义一个控制步骤执行的条件。

Config API for Blue Ocean

CD管道的复杂可视化,可快速直观地理解软件管道状态。

Config File Provider Plugin

提供UI加载的配置文件(即,maven的settings.xml、xml、groovy、自定义文件等)的功能,这些文件将被复制到作业的工作空间。

Credentials Binding Plugin

允许将凭据绑定到环境变量,以便在其他生成步骤中使用。

Credentials Plugin

使用credentials API检索凭据

Dashboard for Blue Ocean

CD管道的复杂可视化,可快速直观地理解软件管道状态。

DataTables.net API Plugin

提供jQuery数据表,DataTables是jQueryJavascript库的一个插件。

Design Language

可重复使用[Rreact]组件和设计元素。

DevOps Portal

将有关应用程序构建的所有信息集中在一个面板上

DingTalk

DingTalk 机器人通知

disk-usage plugin

此插件记录磁盘使用情况。

Display URL API

提供一个扩展点,用于定义在通知中使用的备用URL。

Display URL for Blue Ocean

该插件提供了显示url插件的实现

Docker API Plugin

向Jenkins插件公开docker-java API

Docker Commons Plugin

API插件,为各种Docker相关插件提供通用共享功能。

Docker Pipeline

允许构建、测试和使用Jenkins Pipeline项目中的Docker图像。

Docker plugin

该插件允许使用Docker将容器动态配置为Jenkins节点

Docker Slaves Plugin

使用Containers设置生成代理,对可以使用的图像没有任何限制。

docker-build-step

允许将各种Docker命令作为构建步骤添加到Jenkins Freestyle作业中。

Durable Task Plugin

库为可以在Jenkins之外运行但仍受监控的进程提供了一个扩展点。

ECharts API Plugin

一个开源的JavaScript可视化工具,用于创建直观、交互式和高度可定制的图表。

Email Extension Plugin

插件允许您配置电子邮件通知的各个方面。

EnvInject API Plugin

为Jenkins插件中的环境变量管理提供了额外的API。

Environment Injector Plugin

这个插件可以为您的工作设置一个自定义环境。

Events API for Blue Ocean

Blue Ocean是为Pipeline设计的,提高团队每个成员的清晰度。

External Monitor Job Type Plugin

添加了监视外部执行作业的结果的功能。

Favorite

这个插件允许用户创建文件夹来组织作业,可以在文件夹中定义视图。

Folders Plugin

网络上最受欢迎的图标集和工具包。

Font Awesome API Plugin

有矢量图标和社交标志,网络上最受欢迎的图标集和工具包。

Forensics API Plugin

定义了一个API来挖掘和分析源代码管理存储库中的数据。

Generic Webhook Trigger Plugin

接收任何HTTP请求,JENKINS_URL/通用webhook触发器/调用

Gerrit Code Review plugin

多分支管道与Gerrit Code Review无缝集成,用于分支和更改验证。

Gerrit Trigger

该插件将Jenkins集成到Gerrit代码审查中,以便在创建补丁集时触发构建。

Git client plugin

git客户端插件为Jenkins插件提供git应用程序编程接口(API)。

Git Parameter Plug-In

在构建中指定git分支、标记、pull-request或修订号作为参数。

Git plugin

git插件为Jenkins项目提供了基本的git操作

GitHub API Plugin

此插件是其他GitHub相关插件用来共享相同库的库插件。

GitHub Branch Source Plugin

允许您根据一个或多个GitHub用户或组织的存储库结构创建新项目

GitHub plugin

当您从post-rereceive钩子中查找HTTP post并可选地自动管理钩子设置,从而将作业推送到存储库时触发作业。

GitLab Authentication plugin

该插件通过使用GitLab OAuth应用程序进行身份验证。

GitLab Branch Source Plugin

GitLab API插件-包装GitLab Java API。

GitLab Logo Plugin

在仪表板上显示GitLab存储库图标

Gitlab Merge Request Builder

在Gitlab中创建的用于构建合并请求的插件。

GitLab Plugin

该插件允许GitLab在提交代码或打开/更新合并请求时触发Jenkins中的构建

Gradle Plugin

Gradle(与Ant或Maven相同),提供了一个新的构建步骤来执行Gradle任务。

Groovy

这个插件增加了直接执行Groovy代码的能力。

Groovy Postbuild

这个插件在Jenkins JVM中执行一个groovy脚本。

H2 API Plugin

此插件是一个共享库。它提供了H2 jar。

Handy Uri Templates 2.x API Plugin

这些组件可以作为依赖项被其他插件使用。它允许独立于插件管理库更新。

HTML Publisher plugin

HTML Publisher插件可用于将构建生成的HTML报告发布到作业和构建页面。

HTTP Request Plugin

此插件向用户指定的URL发送HTTP/HTTPS请求。

i18n for Blue Ocean

Infrastructure plugin for Publish Over X

Publish-Over插件的目标是在发送构建工件时提供一组一致的特性和行为

Instance Identity

这个插件维护了一个RSA密钥对,可以作为与Jenkins通信时身份验证的基础。

Ionicons API

这个插件为您的Jenkins插件提供了ionicon,也称为符号。

Jackson 2 API Plugin

此插件将FasterXMLJackson2 API公开给Jenkins插件。

JaCoCo plugin

用于捕获和可视化使用JaCoCo进行代码覆盖率分析与代码覆盖率测试结果。

Jakarta Activation API

此插件为其他插件提供Jakarta Activation API。

Jakarta Mail API

此插件为其他插件提供Jakarta Mail API。

Java JSON Web Token (JJWT) Plugin

从Jenkins插件中使用的JJWT捆绑包。这提供了JSON Web令牌功能。

JavaBeans Activation Framework (JAF) API

此插件为其他插件提供JavaBeans激活框架(JAF)API。

Javadoc Plugin

这个插件为Jenkins添加了Javadoc支持。

JavaMail API

此插件为其他插件提供JavaMail API

JavaScript GUI Lib: ACE Editor bundle plugin

HPI相关性插件

JAXB plugin

这个插件捆绑了JAXB库,是一个所谓的库插件。

Jersey 2 API

这个插件为其他插件提供了JAX-RS2.1和Jersey 2 API。

JFrog Plugin

Jenkins JFrog插件允许Jenkins和JFrog平台之间轻松集成。

Job and Stage monitoring Plugin

在Jenkins插件更新中心,3.0版本被列为一个突破性的变化。

Job Configuration History Plugin

保存所有作业和系统配置的副本,可以查看哪个用户进行了哪些更改。

Job DSL

Job DSL插件允许在人类可读文件中以编程形式定义作业来解决这个问题。

Job Import Plugin

从另一个Jenkins实例导入作业。

jQuery plugin

这个插件是一个库插件,用于其他插件共享公共jQuery。

JQuery3 API Plugin

提供jQuery 3

JSch dependency plugin

这个插件提供了对com.jcraft:jschJAR的共享依赖

JUnit Plugin

JUnit插件提供了一个使用构建过程中生成的XML测试报告图形可视化

JWT for Blue Ocean

CD管道的复杂可视化,可快速直观地理解软件管道状态。

Kubernetes Client API Plugin

此插件将Kubernetes客户端API公开给Jenkins插件。

Kubernetes Credentials Plugin

包含Kubernetes插件和Kubernete CLI插件之间共享的类:

Kubernetes plugin

Jenkins插件,用于在Kubernetes集群中运行动态代理。

LDAP Plugin

LDAP插件

Localization Support Plugin

支持独立本地化插件的基础设施。

Localization: Chinese (Simplified)

Jenkins核心和插件的简体中文本地化。

Mailer Plugin

此插件允许您为生成结果配置电子邮件通知。

MapDB API Plugin

提供了对MapDB库的共享依赖,以便其他插件在使用该库时可以进行协作。

Matrix Authorization Strategy Plugin

使用此插件在Jenkins中实现细粒度访问控制。

Matrix Project Plugin

配置矩阵允许您指定要复制的步骤,并创建要创建的构建类型的多轴图。

Maven Integration plugin

启动Maven的JVM优于或等于Jenkins Controller所针对的Java版本。

Metrics Plugin

Metrics API包含一个健康检查合同。健康检查返回一个简单的PASS/FAIL状态

Mina SSHD API :: Common

这个插件将Apache Mina SSHD模块封装为Jenkins插件。每个模块都有自己的插件。

Mina SSHD API :: Core

这个插件将Apache Mina SSHD模块封装为Jenkins插件

Monitoring

使用JavaMelody监控Jenkins本身的性能。

Multijob plugin

该类可以在管道中完成插件所做的工作。

Nested Data Reporting

该插件从各种文件格式(如json、yaml、xml或csv)可视化用户特定的内容

OkHttp Plugin

这个插件管理Jenkins插件的okhttp库版本。

Oracle Java SE Development Kit Installer Plugin

该插件提供了一个工具安装程序,用于在Jenkins中安装Oracle Java SE开发工具包。

OWASP Markup Formatter Plugin

该插件允许使用HTML的安全子集格式化Jenkins中的作业、构建、视图等的描述。

PAM Authentication plugin

为Jenkins添加了Unix可插拔身份验证模块(PAM)支持。

Parameterized Remote Trigger Plugin

CI的插件,使您能够在远程Jenkins服务器上触发参数化构建,作为构建的一部分。

Parameterized Scheduler

支持在构建计划中设置参数

Parameterized Trigger plugin

该插件允许您在构建完成时触发新的构建,并通过各种方式为新的构建指定参数。

Performance Plugin

性能趋势报告

Permissive Script Security Plugin

打开脚本安全插件的许可模式

Pipeline

以前称为工作流插件。

Pipeline Configuration History Plugin

在生成的基础上跟踪管道配置的更改

Pipeline Graph Analysis Plugin

用于分析管道工作流的插件通过检查包含它们的FlowNodes的有向无环图来运行。

Pipeline implementation for Blue Ocean

CD管道的复杂可视化,可快速直观地理解软件管道状态。

Pipeline Maven Integration Plugin

使用Apache Maven提供了一组高级功能。

Pipeline SCM API for Blue Ocean

Pipeline timeline

Pipeline: API

定义管道API的插件。

Pipeline: Basic Steps

管道步骤参考描述了此插件提供的管道步骤。

Pipeline: Build Step

添加管道生成步骤,该步骤将触发其他作业的生成。

Pipeline: Declarative

管道模型定义插件提供了一种类似配置的语法来定义管道,因此是声明性管道。

Pipeline: Declarative Extension Points API

Pipeline: GitHub Groovy Libraries

允许从GitHub上的公共存储库动态加载Pipeline Groovy库。

Pipeline: Groovy

Pipeline: Groovy Libraries

该插件通过允许您创建库脚本SCM存储库来添加该功能。您可以在自己选择的位置定义任何SCM托管的库。

Pipeline: Input Step

添加管道输入步骤以等待人工输入或批准。

Pipeline: Job

该插件为Pipeline提供了Jenkins作业和构建类型以及通用用户界面。

Pipeline: Milestone Step

默认情况下,管道生成可以并发运行。里程碑步骤确保旧版本不会覆盖新版本

Pipeline: Model API

管道模型定义插件提供了一种类似配置的语法来定义管道,因此是声明性管道。

Pipeline: Multibranch

通过自动对来自不同分支的构建进行分组,增强了Pipeline插件以更好地处理分支。

Pipeline: Nodes and Processes

管道步骤锁定代理和工作区,并运行可能在Jenkins重新启动或代理重新连接后幸存的外部进程。

Pipeline: REST API Plugin

它定义了用于安全访问管道数据的REST端点

Pipeline: SCM Step

这个插件允许管道使用标准的Jenkins SCM插件来检查源代码。

Pipeline: Stage Step

添加管道阶段步骤,该步骤可用于描绘构建的各个部分。

Pipeline: Stage Tags Metadata

管道模型定义插件提供了一种类似配置的语法来定义管道,因此是声明性管道。

Pipeline: Stage View Plugin

管道阶段视图插件

Pipeline: Step API

插件可以通过添加对工作流步骤api的依赖来实现具有特定行为的自定义管道步骤。

Pipeline: Supporting APIs

该插件提供核心管道插件用于持久性和步骤可视化等功能的API。

Plain Credentials Plugin

允许使用纯字符串和文件作为传递给其他生成步骤的凭据。

Plugin Utilities API Plugin

这个Jenkins插件提供了可用于加速插件开发的实用程序类。

Popper.js 2 API Plugin

Popper只需一行代码就可以轻松地定位工具提示、弹出窗口或其他任何东西。

Prism API Plugin

Prism是一款轻量级、可扩展的语法高亮器,它是根据现代网络标准构建的。

Pub-Sub "light" Bus

Jenkins的轻量级发布-订阅(async)事件通知模块。

Publish Over SSH

通过SSH发布的选项

Report Info Plugin

此插件允许您在视图中查看Surefire、PMD、Findbugs和Checkstyle报告中的一些信息。

Resource Disposer Plugin

Resource Disposer是其他插件所依赖的实用程序插件。

REST API for Blue Ocean

管道编辑器,通过引导用户通过直观和可视化的流程创建管道,使自动化CD管道变得触手可及。

REST Implementation for Blue Ocean

Jenkins UI的个性化,以满足DevOps团队每个成员基于角色的需求。

Role-based Authorization Strategy

创建全局角色,如管理员、作业创建者、匿名者等,允许在全局范围内设置总体、代理、作业、运行、查看和SCM权限。

Run Condition Plugin

这个插件定义了一个ExtensionPoint,插件可以使用它来定义新的运行条件,并使用运行条件来决定是否运行构建步骤。

SCM API Plugin

提供了使用SCM API的指南。

SCM Sync Configuration Plugin

鼓励此插件的用户将他们的作业迁移到管道插件

Script Security Plugin

Sectioned View Plugin

这个插件提供了一个新的视图实现,可以分为几个部分。每个部分可以显示有关所选作业的不同信息。

Server Sent Events (SSE) Gateway Plugin

Jenkins的网关插件。使用pubsub-light插件jenkins模块接收轻量级事件,并通过SSE将其转发到浏览器平台。

Simple Theme Plugin

该插件允许使用自定义CSS和JavaScript自定义Jenkin的外观。它还允许替换Favicon。

SnakeYAML API Plugin

这个插件打包了Snakeyaml库。该组件可以作为依赖项被其他插件使用。它允许独立于插件管理库更新。

Sonar Gerrit Plugin

该插件通过Gerrit Code Review与开发人员共享SonarQube反馈。

SonarQube Scanner for Jenkins

此插件允许轻松集成SonarQube™, 用于持续检查代码质量的开源平台。

SSH Build Agents plugin

提供了一种通过SSH启动代理的方法。

SSH Credentials Plugin

SSH凭据插件

SSH server

提供了一个内置的SSH服务器

Status Monitor Plugin

此插件在单个屏幕上直观地显示所选作业的状态。

Structs Plugin

DSL插件的库插件,需要Jenkins扩展的简洁名称

Subversion Plug-in

Subversion插件

ThinBackup

这个插件只是备份全局和特定于作业的配置

Timestamper

Timestamp插件将时间戳添加到Jenkins作业的控制台输出中

Token Macro Plugin

Trilead API Plugin

Variant Plugin

Web for Blue Ocean

Jenkins UI的个性化,以满足DevOps团队每个成员基于角色的需求。

Webhook Step Plugin

这个管道插件提供了一种简单的方法来阻止构建管道,直到外部系统发布到webhook

Workspace Cleanup Plugin

内置的代码片段生成器可以帮助您了解可用的配置选项。

XML Job to Job DSL Plugin

Jenkins插件,用于转换Job DSL插件脚本中的XML作业

下面是一些插件在 Job 上的展示

到此,整个 Docker 安装 Jenkins 系统常用插件用途解析就分享完成了,希望对各位有​帮助。

写在最后

在不断的项目实施过程中,也不断的在经验总结,个人能力的提升还需要不断的学习,和大家共勉,文章中的分享有不恰当甚至错误的理解,也希望能够得到大家的指正,留言多交流。如对各位有帮助的,也请动动发财的手,点赞点个关注,也是对我的一种鼓励,谢谢各位。

上图中,不难发现,我们这里的Jenkins Master是大脑,控制分配任务,3个Slave扮演的是Worker的角色,分布在不同的Node节点的Pod内。

那么回到我们这个话题上来,上图中,使用Jenkins的K8s插件为了就是要实现上图的分布式Slave通信机制。下图中,清晰地描述了这个思路,细心的朋友能发现纹身这波操作可以帮助我们节约不少服务器资源。

This is why we should use k8s plugin to implement dynamic M-S architecture of Jenkins.

3. 使用方法

这里我就简单说几个步骤,具体的如何去配置K8s插件的问题,百度上有很多帖子,这里就不浪费大家时间了。

四、Jenkins并行构建

1. 并行构建是个什么玩意?

Jenkins构建项目工程的时候,往往一般我们会采用以下几个基本步骤。