定制 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 芯片(动态随机存取存储器)的技术指标 1.1 16n Prefetch (预加载) (n --芯片位宽) DDR 体系 链接:DDR扫盲—-关于Prefetch(预取)与Burst(突发)的深入讨论_ddr prefetch_qq_25814297-npl的博客-CSDN博客 1.2 每个通…...

计算机组成原理——第五章中央处理器(中)
辞别再无相见月,终是一人度春秋 文章目录 前言5.4.1 硬布线控制器的设计5.4.2 微程序控制器的基本原理5.4.3 微指令的设计5.4.4 微程序控制单元的设计 前言 本文主要写的是控制器的设计,控制器的设计分为硬部件控制器(就是用纯硬件的方式来实现的一种控…...
ImageJ 用户手册——第三部分(ImageJ扩展)
ImageJ 用户手册-第三部分 ImageJ扩展14. 宏指令(Macros)宏程序设计 15. 脚本( Scripts)JavaScript编程 16. 插件( Plugins)开发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 测试访问公网固定二级子域名 转载自内网穿透工具的文章:使用Nextcl…...

Revit问题:墙体被楼板剪切及材质库被锁定问题
一、Revit 墙体被楼板剪切怎么办? 建模的时候画的墙总是到楼板就停了,这是为什么?明明顶部约束到标高2了,这种情况如何解决? 首先来分析问题产生的原因是,我们在绘制楼板的时候选择了用楼板剪切重复部分的墙体。 解决…...
CPU信息查询与CPU测试方法总结
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请征得博主同意并附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/mainmaster/article/details/130267689 未经允许不能拷贝本文章内容发布到其他相关载体上。 CPU信息查询 我们知道在嵌入式系统…...

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

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

大型体检管理系统源码:适用于大中型医院或独立体检中心
一套专业的体检管理系统源码,是医院、体检中心等单位开展体检业务的得力助手。它将以往人工操作的健康体检过程所得到信息转换成全信息化的电脑管理,使体检过程更为流畅、更有条理,更加便于管理,从而实现体检业务管理的自动化、信…...
ACM 1000 | 简单的a+b
文章目录 0x00 前言 0x01 题目描述 0x02 问题分析 0x03 代码设计 0x04 完整代码 0x05 运行效果 0x06 参考文献 0x07 总结 0x00 前言 C 语言网不仅提供 C 语言,还包括 C 、 java 、算法与数据结构等课程在内的各种入门教程、视频录像、编程经验、编译器教程及…...

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

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

IT知识百科:什么是SSID?
一、什么是SSID SSID(Service Set Identifier)是无线网络中的一个重要概念,它是一个用于标识无线局域网(WLAN)的名称。SSID可以看作是无线网络的名称,类似于有线网络中的网络名称或者路由器的名称。在无线…...

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日,由赛迪顾问主办的“2023 IT市场权威榜单”评选结果正式发布,美创数据库防火墙斩获新一代信息技术创新产品! 美创数据库防火墙是一款抵御并消除由于应用程序业务逻辑漏洞或者缺陷所导致的数据库安全问题的专业级数据库安全产品&#x…...
30个超级有用的JavaScript单行代码
在这篇文章中,我列出了一个系列的 30 个 JavaScript 单行代码,它们在使用 vanilla js(≥ ES6)进行开发时非常有用。它们也是使用该语言在最新版本中为我们提供的所有功能来解决问题的优雅方式。 我将它们分为以下5大类࿱…...

【GitLab私有仓库】在Linux上用Gitlab搭建自己的私有库并配置cpolar内网穿透
前言 GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务。 Gitlab是被广泛使用的基于git的开源代码管理平台, 基于Ruby on Rails构建, 主要针对软件开发过程中产生的代码和文档进行管理, Gitlab主要针对…...
【杂谈】-递归进化:人工智能的自我改进与监管挑战
递归进化:人工智能的自我改进与监管挑战 文章目录 递归进化:人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管?3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...
前端倒计时误差!
提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...
多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验
一、多模态商品数据接口的技术架构 (一)多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如,当用户上传一张“蓝色连衣裙”的图片时,接口可自动提取图像中的颜色(RGB值&…...
vue3 字体颜色设置的多种方式
在Vue 3中设置字体颜色可以通过多种方式实现,这取决于你是想在组件内部直接设置,还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法: 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...

uniapp微信小程序视频实时流+pc端预览方案
方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度WebSocket图片帧定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐RTMP推流TRTC/即构SDK推流❌ 付费方案 (部分有免费额度&#x…...
Spring AI 入门:Java 开发者的生成式 AI 实践之路
一、Spring AI 简介 在人工智能技术快速迭代的今天,Spring AI 作为 Spring 生态系统的新生力量,正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务(如 OpenAI、Anthropic)的无缝对接&…...
JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案
JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停 1. 安全点(Safepoint)阻塞 现象:JVM暂停但无GC日志,日志显示No GCs detected。原因:JVM等待所有线程进入安全点(如…...

VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP
编辑-虚拟网络编辑器-更改设置 选择桥接模式,然后找到相应的网卡(可以查看自己本机的网络连接) windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置,选择刚才配置的桥接模式 静态ip设置: 我用的ubuntu24桌…...

[免费]微信小程序问卷调查系统(SpringBoot后端+Vue管理端)【论文+源码+SQL脚本】
大家好,我是java1234_小锋老师,看到一个不错的微信小程序问卷调查系统(SpringBoot后端Vue管理端)【论文源码SQL脚本】,分享下哈。 项目视频演示 【免费】微信小程序问卷调查系统(SpringBoot后端Vue管理端) Java毕业设计_哔哩哔哩_bilibili 项…...
字符串哈希+KMP
P10468 兔子与兔子 #include<bits/stdc.h> using namespace std; typedef unsigned long long ull; const int N 1000010; ull a[N], pw[N]; int n; ull gethash(int l, int r){return a[r] - a[l - 1] * pw[r - l 1]; } signed main(){ios::sync_with_stdio(false), …...