当前位置: 首页 > news >正文

定制 Jenkins 镜像说明

Dockerfile模板示例
FROM jenkins/jenkins:2.332.4-jdk8
MAINTAINER jason
USER root
RUN sed -i ‘s/deb.debian.org/mirrors.aliyun.com/g’ /etc/apt/sources.list
&& apt update
&& apt install ca-certificates tzdata -y
&& rm -rf /var/cache/apt/*
&& ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
&& echo “Asia/Shanghai” > /etc/timezone
&& apt install bash curl wget ansible nano -y
&& rm -rf /var/cache/apt/*
USER jenkins
COPY plugins.txt /usr/share/jenkins/ref/plugins.txt
RUN /usr/local/bin/install-plugins.sh < /usr/share/jenkins/ref/plugins.txt
ENV JAVA_OPTS=“-Djenkins.install.runSetupWizard=false -Djenkins.CLI.disabled=true”
官方镜像选择
jenkins/jenkins:2.332.4-jdk8
修改Master执行器数量
executors.groovy文件内容示例:
import jenkins.model.*
Jenkins.instance.setNumExecutors(0) ## 分布式构建这里建议设置为0
批量安装插件

plugins.txt文件内容示例:
plugin-util-api:2.17.0
ssh-slaves:1.821.vd834f8a_c390e
ansible:1.1
git-server:1.11
gitlab-plugin:1.5.36
jakarta-activation-api:2.0.1-2
role-strategy:587.588.v850a_20a_30162
commons-text-api:1.10.0-27.vb_fa_3896786a_7
javax-activation-api:1.2.0-5
htmlpublisher:1.31
credentials-binding:523.525.vb_72269281873
authentication-tokens:1.4
configuration-as-code:1569.vb_72405b_80249
structs:324.va_f5d6774f3a_d
kubernetes-credentials:0.10.0
display-url-api:2.3.6
okhttp-api:4.9.3-108.v0feda04578cf
workflow-job:1189.va_d37a_e9e4eda_
ldap:2.11
envinject-api:1.199.v3ce31253ed13
run-condition:1.5
command-launcher:1.2
publish-over:0.22
ws-cleanup:0.43
mina-sshd-api-core:2.9.2-50.va_0e1f42659a_a
pipeline-build-step:488.v8993df156e8d
dtkit-api:3.0.2
code-coverage-api:3.0.5
docker-java-api:3.2.13-37.vf3411c9828b9
pipeline-input-step:466.v6d0a_5df34f81
cloudbees-folder:6.740.ve4f4ffa_dea_54
workflow-durable-task-step:1190.vc93d7d457042
ace-editor:1.1
pipeline-milestone-step:111.v449306f708b_7
conditional-buildstep:1.4.2
scm-api:631.v9143df5b_e4a_a
matrix-project:772.v494f19991984
docker-workflow:563.vd5d2e5c4007f
snakeyaml-api:1.33-90.v80dcb_3814d35
bootstrap5-api:5.2.0-1
mailer:435.438.v5b_81173f5b_a_1
jsch:0.1.55.61.va_e9ee26616e7
timestamper:1.21
plain-credentials:143.v1b_df8b_d3b_e48
localization-zh-cn:1.0.24
token-macro:321.vd7cc1f2a_52c8
groovy:453.vcdb_a_c5c99890
metrics:4.1.6.2
workflow-api:1200.v8005c684b_a_c6
popper2-api:2.11.6-1
branch-api:2.1071.v1a_188a_562481
maven-plugin:3.21
prism-api:1.28.0-2
momentjs:1.1.1
envinject:2.901.v0038b_6471582
forensics-api:1.15.1
config-file-provider:3.10.0
jdk-tool:63.v62d2fd4b_4793
workflow-cps-global-lib:609.vd95673f149b_b
pipeline-stage-view:2.28
docker-plugin:1.3.0
checks-api:1.7.5
workflow-multibranch:716.vc692a_e52371b_
ssh-agent:327.v230ecd01f86f
workflow-cps:2729.2732.vda_e3f07b_5a_f8
kubernetes-client-api:6.4.1-208.vfe09a_9362c2c
parameterized-trigger:2.45
ssh-credentials:277.280.v1e86b_7d0056b_
git:4.12.1
kubernetes:3724.v0920c1e0ec69
permissive-script-security:0.7
jquery3-api:3.6.1-1
script-security:1190.v65867a_a_47126
email-ext:2.92
pipeline-graph-analysis:202.va_d268e64deb_3
jquery:1.12.4-1
workflow-basic-steps:994.vd57e3ca_46d24
durable-task:504.vb10d1ae5ba2f
commons-lang3-api:3.12.0-36.vd97de6465d5b_
workflow-scm-step:408.v7d5b_135a_b_d49
trilead-api:1.67.vc3938a_35172f
antisamy-markup-formatter:159.v25b_c67cd35fb_
build-pipeline-plugin:1.5.8
pipeline-model-api:2.2121.vd87fb_6536d1e
docker-commons:1.21
apache-httpcomponents-client-4-api:4.5.13-138.v4e7d9a_7b_a_e61
font-awesome-api:6.1.2-1
workflow-support:839.v35e2736cfd5c
bouncycastle-api:2.27
workflow-aggregator:596.v8c21c963d92d
nodejs:1.5.1
variant:59.vf075fe829ccb
credentials:1087.1089.v2f1b_9a_b_040e4
jakarta-mail-api:2.0.1-2
caffeine-api:2.9.3-65.v6a_47d0f4d1fe
javax-mail-api:1.6.2-5
mina-sshd-api-common:2.9.2-50.va_0e1f42659a_a
pam-auth:1.10
jaxb:2.3.7-1
pipeline-rest-api:2.28
pipeline-groovy-lib:612.v84da_9c54906d
external-monitor-job:203.v683c09d993b_9
jackson2-api:2.14.2-319.v37853346a_229
pipeline-stage-step:293.v200037eefcd5
pipeline-model-definition:2.2121.vd87fb_6536d1e
pipeline-model-extensions:2.2121.vd87fb_6536d1e
git-client:3.12.4
workflow-step-api:639.v6eca_cd8c04a_a_
emailext-template:1.5
sshd:3.242.va_db_9da_b_26a_c3
thinBackup:1.11
echarts-api:5.3.3-1
javadoc:226.v71211feb_e7e9
sonar:2.14
xunit:3.1.2
workflow-cps-global-lib-http:2.20.0
data-tables-api:1.12.1-3
matrix-auth:3.1.5
junit:1143.1145.v81b_b_9579a_019
publish-over-ssh:1.24
localization-support:1.2
ssh:2.6.1
git-parameter:0.9.18
ant:481.v7b_09e538fcca
dashboard-view:2.466.vdfefd95a_b_f8d
locale:180.v207501dff9b_a_
build-timeout:1.24
resource-disposer:0.20
pipeline-stage-tags-metadata:2.2121.vd87fb_6536d1e
jersey2-api:2.37-1

获取服务器已安装插件列表的方法:

$ export JENKINS_HOST=admin:admin@192.168.100.10:8080
$ curl -sSL “http://$JENKINS_HOST/pluginManager/api/xml?depth=1&xpath=///shortName|///version&wrapper=plugins” | perl -pe ‘s/.?([\w-]+).?([^<]+)()(</\w+>)+/\1 \2\n/g’|sed ‘s/ /😕’ > plugins.txt
常用插件介绍
Parameterized Trigger
参数化构建。

ThinBackup
数据备份和恢复。

Role-based Authorization Strategy
基于角色的权限管理。

Git
Jenkins 安装中默认安装 Git 插件,所以不需要单独安装。利用 git 工具可以从 github、gitlab 等等的地址下载源码。

Docker
Jenkins 安装中默认安装 Docker 插件,所以不需要单独安装。利用 Docker 插件可以设置 Docker 环境,运行 Docker 命令,配置远程 Docker 仓库凭据等。

Kubernetes
Kubernetes 插件的目的是能够使用 Kubernetes 集群动态配置 Jenkins 代理(使用Kubernetes调度机制来优化负载),运行单个构建,等构建完成后删除该代理。这里我们需要用到这个插件来启动 Jenkins Slave 代理镜像,让代理执行 Jenkins 要执行的 Job。

Kubernetes Cli
Kubernetes Cli 插件作用是在执行 Jenkins Job 时候提供 kubectl 与 Kubernetes 集群交互环境。可以在 Pipeline 或自由式项目中允许执行 kubectl 相关命令。它的主要作用是提供 kubectl 运行环境,当然也可以提供 helm 运行环境。

Config File Provider
Config File Provider 插件作用就是提供在 Jenkins 中存储 properties、xml、json、settings.xml 等信息,可以在执行 Pipeline 过程中可以写入存储的配置。例如,存入一个 Maven 全局 Settings.xml 文件,在执行 Pipeline Job 时候引入该 Settings.xml ,这样 Maven 编译用的就是该全局的 Settings.xml。

Pipeline Utility Steps
这是一个操作文件的插件,例如读写 json、yaml、pom.xml、Properties 等等。在这里主要用这个插件读取 pom.xml 文件的参数设置,获取变量,方便构建 Docker 镜像。

Git Parameter
能够与 Git 插件结合使用,动态获取 Git 项目中分支信息,在 Jenkins Job 构建前提供分支选项,来让项目执行人员选择拉取对应分支的代码。

Maven Integration
Maven 插件,用于编译 Maven 项目和安装 Maven 工具到任务中。

SonarQube Scanner
SonarQube 是一种用于连续检查代码质量的开源平台,该插件可轻松与 SonarQube 集成。

Email Extension Template
用于设置邮件模板。

Docker Pipeline
通过管道构建和使用Docker容器。

HTTP Request
这个插件发送一个http请求到一个带有一些参数的url。

相关文章:

定制 Jenkins 镜像说明

Dockerfile模板示例 FROM jenkins/jenkins:2.332.4-jdk8 MAINTAINER jason USER root RUN sed -i ‘s/deb.debian.org/mirrors.aliyun.com/g’ /etc/apt/sources.list && apt update && apt install ca-certificates tzdata -y && rm -rf /var/cach…...

【离散数学】测试五 图论

1. n层正则m叉树一共有()片树叶。 A. nm B. mn C. mn 正确答案: B 2. 下图是一棵最优二叉树 A. 对 B. 错 正确答案: B 3. 要构造权为1,4,9,16,25,36,49,64,81,100一棵最优二叉树,则必须先构造权为5,9,16,25,36,49,64,81,100一棵最优二叉树. A. 对 B. 错 …...

根据cadence设计图学习硬件知识 day03 了解 一些芯片 和 数据手册下载的地方

1. MT53D512M32D2DS 芯片&#xff08;动态随机存取存储器&#xff09;的技术指标 1.1 16n Prefetch (预加载) (n --芯片位宽) DDR 体系 链接&#xff1a;DDR扫盲—-关于Prefetch(预取)与Burst(突发)的深入讨论_ddr prefetch_qq_25814297-npl的博客-CSDN博客 1.2 每个通…...

计算机组成原理——第五章中央处理器(中)

辞别再无相见月&#xff0c;终是一人度春秋 文章目录 前言5.4.1 硬布线控制器的设计5.4.2 微程序控制器的基本原理5.4.3 微指令的设计5.4.4 微程序控制单元的设计 前言 本文主要写的是控制器的设计&#xff0c;控制器的设计分为硬部件控制器(就是用纯硬件的方式来实现的一种控…...

ImageJ 用户手册——第三部分(ImageJ扩展)

ImageJ 用户手册-第三部分 ImageJ扩展14. 宏指令&#xff08;Macros&#xff09;宏程序设计 15. 脚本&#xff08; Scripts&#xff09;JavaScript编程 16. 插件&#xff08; Plugins&#xff09;开发ImageJ插件 17. 用其他语言编写脚本Fiji脚本编辑器 18. 从命令行运行ImageJ …...

RK3399平台开发系列讲解(PCI/PCI-E)PCIE相关配置说明

🚀返回专栏总目录 文章目录 一、DTS 配置二、menuconfig 配置三、cmdline 配置沉淀、分享、成长,让自己和他人都能有所收获!😄 📢 本篇将介绍在使用 RK3399 平台 PCIE 时候的配置。 一、DTS 配置 ep-gpios = <&gpio3 13 GPIO_ACTIVE_HIGH>; 此项是设置 PCIe…...

NAS私有云存储 - 搭建Nextcloud私有云盘并公网远程访问

文章目录 摘要视频教程1. 环境搭建2. 测试局域网访问3. 内网穿透3.1 ubuntu本地安装cpolar3.2 创建隧道3.3 测试公网访问 4 配置固定http公网地址4.1 保留一个二级子域名4.1 配置固定二级子域名4.3 测试访问公网固定二级子域名 转载自内网穿透工具的文章&#xff1a;使用Nextcl…...

Revit问题:墙体被楼板剪切及材质库被锁定问题

一、Revit 墙体被楼板剪切怎么办? 建模的时候画的墙总是到楼板就停了&#xff0c;这是为什么&#xff1f;明明顶部约束到标高2了&#xff0c;这种情况如何解决&#xff1f; 首先来分析问题产生的原因是&#xff0c;我们在绘制楼板的时候选择了用楼板剪切重复部分的墙体。 解决…...

CPU信息查询与CPU测试方法总结

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请征得博主同意并附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/mainmaster/article/details/130267689 未经允许不能拷贝本文章内容发布到其他相关载体上。 CPU信息查询 我们知道在嵌入式系统…...

ChatGPT时代,我们可能站到了自然语言编程的大门口

ChatGPT大火&#xff0c;我现在有种感觉&#xff1a;我们可能站到了自然语言编程的门口&#xff0c;一脚下去&#xff0c;也许能把门踹开。 当然&#xff0c;也可能会踢到一块铁板。 回顾我们的编程之路&#xff0c;基本上就是一个编程门槛不断降低的历史。 最早的一批前辈们…...

深入理解AMQP协议

一.AMQP 是什么 AMQP&#xff08;Advanced Message Queuing Protocol&#xff0c; 高级消息队列协议&#xff09;是一个提供统一消息服务的 应用层标准高级 消息队列协议&#xff0c;是 应用层协议的一个 开放标准,为面向消息的中间件设计&#xff0c;是一个进程间传递 异步消息…...

大型体检管理系统源码:适用于大中型医院或独立体检中心

一套专业的体检管理系统源码&#xff0c;是医院、体检中心等单位开展体检业务的得力助手。它将以往人工操作的健康体检过程所得到信息转换成全信息化的电脑管理&#xff0c;使体检过程更为流畅、更有条理&#xff0c;更加便于管理&#xff0c;从而实现体检业务管理的自动化、信…...

ACM 1000 | 简单的a+b

文章目录 0x00 前言 0x01 题目描述 0x02 问题分析 0x03 代码设计 0x04 完整代码 0x05 运行效果 0x06 参考文献 0x07 总结 0x00 前言 C 语言网不仅提供 C 语言&#xff0c;还包括 C 、 java 、算法与数据结构等课程在内的各种入门教程、视频录像、编程经验、编译器教程及…...

系统分析师选择题笔记

目录 1、知识产权与标准化 1.1 保护范围与对象(★★★★) 1.2 保护期限(★) 1.3 知识产权人确定(★★★) 1.4 侵权判断(★★★) 1.5 标准的分类(★) 1.6 标准代号的识别(★) 2、系统配置与性能评价 2.1 系统性能概述 2.2 系统性能&#xff08;性能指标&#xff09;(★…...

MySQL隐式类型转换

当运算符与不同类型的操作数一起使用时&#xff0c;会发生类型转换以使操作数兼容。有些转换是隐式发生的。例如&#xff0c;MySQL会根据需要自动将字符串转换为数字&#xff0c;反之亦然。 转换规则 如果一个或两个参数都为NULL&#xff0c;则比较结果为NULL 。但是相等比较…...

IT知识百科:什么是SSID?

一、什么是SSID SSID&#xff08;Service Set Identifier&#xff09;是无线网络中的一个重要概念&#xff0c;它是一个用于标识无线局域网&#xff08;WLAN&#xff09;的名称。SSID可以看作是无线网络的名称&#xff0c;类似于有线网络中的网络名称或者路由器的名称。在无线…...

OpenAI-ChatGPT最新官方接口《从0到1生产最佳实例》全网最详细中英文实用指南和教程,助你零基础快速轻松掌握全新技术(十一)(附源码)

Production Best Practices 生产最佳实例 前言Introduction 导言Setting up your organization 设置您的组织Managing billing limits 管理计费限额API keys API密钥Staging accounts 演示账户 Building your prototype 构建您的原型Additional tips 其它技巧 Techniques for i…...

2023 IT市场权威榜单|美创数据库防火墙斩获“新一代信息技术创新产品”

4月20日&#xff0c;由赛迪顾问主办的“2023 IT市场权威榜单”评选结果正式发布&#xff0c;美创数据库防火墙斩获新一代信息技术创新产品&#xff01; 美创数据库防火墙是一款抵御并消除由于应用程序业务逻辑漏洞或者缺陷所导致的数据库安全问题的专业级数据库安全产品&#x…...

30个超级有用的JavaScript单行代码

在这篇文章中&#xff0c;我列出了一个系列的 30 个 JavaScript 单行代码&#xff0c;它们在使用 vanilla js&#xff08;≥ ES6&#xff09;进行开发时非常有用。它们也是使用该语言在最新版本中为我们提供的所有功能来解决问题的优雅方式。 我将它们分为以下5大类&#xff1…...

【GitLab私有仓库】在Linux上用Gitlab搭建自己的私有库并配置cpolar内网穿透

前言 GitLab 是一个用于仓库管理系统的开源项目&#xff0c;使用Git作为代码管理工具&#xff0c;并在此基础上搭建起来的Web服务。 Gitlab是被广泛使用的基于git的开源代码管理平台, 基于Ruby on Rails构建, 主要针对软件开发过程中产生的代码和文档进行管理, Gitlab主要针对…...

在软件开发中正确使用MySQL日期时间类型的深度解析

在日常软件开发场景中&#xff0c;时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志&#xff0c;到供应链系统的物流节点时间戳&#xff0c;时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库&#xff0c;其日期时间类型的…...

PHP和Node.js哪个更爽?

先说结论&#xff0c;rust完胜。 php&#xff1a;laravel&#xff0c;swoole&#xff0c;webman&#xff0c;最开始在苏宁的时候写了几年php&#xff0c;当时觉得php真的是世界上最好的语言&#xff0c;因为当初活在舒适圈里&#xff0c;不愿意跳出来&#xff0c;就好比当初活在…...

新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案

随着新能源汽车的快速普及&#xff0c;充电桩作为核心配套设施&#xff0c;其安全性与可靠性备受关注。然而&#xff0c;在高温、高负荷运行环境下&#xff0c;充电桩的散热问题与消防安全隐患日益凸显&#xff0c;成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...

【AI学习】三、AI算法中的向量

在人工智能&#xff08;AI&#xff09;算法中&#xff0c;向量&#xff08;Vector&#xff09;是一种将现实世界中的数据&#xff08;如图像、文本、音频等&#xff09;转化为计算机可处理的数值型特征表示的工具。它是连接人类认知&#xff08;如语义、视觉特征&#xff09;与…...

什么是EULA和DPA

文章目录 EULA&#xff08;End User License Agreement&#xff09;DPA&#xff08;Data Protection Agreement&#xff09;一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA&#xff08;End User License Agreement&#xff09; 定义&#xff1a; EULA即…...

云原生玩法三问:构建自定义开发环境

云原生玩法三问&#xff1a;构建自定义开发环境 引言 临时运维一个古董项目&#xff0c;无文档&#xff0c;无环境&#xff0c;无交接人&#xff0c;俗称三无。 运行设备的环境老&#xff0c;本地环境版本高&#xff0c;ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...

QT3D学习笔记——圆台、圆锥

类名作用Qt3DWindow3D渲染窗口容器QEntity场景中的实体&#xff08;对象或容器&#xff09;QCamera控制观察视角QPointLight点光源QConeMesh圆锥几何网格QTransform控制实体的位置/旋转/缩放QPhongMaterialPhong光照材质&#xff08;定义颜色、反光等&#xff09;QFirstPersonC…...

排序算法总结(C++)

目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指&#xff1a;同样大小的样本 **&#xff08;同样大小的数据&#xff09;**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...

解析奥地利 XARION激光超声检测系统:无膜光学麦克风 + 无耦合剂的技术协同优势及多元应用

在工业制造领域&#xff0c;无损检测&#xff08;NDT)的精度与效率直接影响产品质量与生产安全。奥地利 XARION开发的激光超声精密检测系统&#xff0c;以非接触式光学麦克风技术为核心&#xff0c;打破传统检测瓶颈&#xff0c;为半导体、航空航天、汽车制造等行业提供了高灵敏…...

WPF八大法则:告别模态窗口卡顿

⚙️ 核心问题&#xff1a;阻塞式模态窗口的缺陷 原始代码中ShowDialog()会阻塞UI线程&#xff0c;导致后续逻辑无法执行&#xff1a; var result modalWindow.ShowDialog(); // 线程阻塞 ProcessResult(result); // 必须等待窗口关闭根本问题&#xff1a…...