Jenkins是一个插件平台,可以集成很多环境。很多时候我们是给前端人员配置的FTP提交代码,但是由于更新不方便。发布新的代码ftp会被清空,为节省前端开发时间,所以我们就需要Jenkins 配合git钩子使用 Jenkins 静态资源自动发
Docker是一个开源的应用容器引擎,可以打包应用以及依赖包到一个可移植的镜像中,然后发布到系统的机器上;而Jenkins是一个功能强大的应用程序,可以处理任何类型的构建或持续集成
1. 基本概念mastermaster 就是 Jenkins 安装和运行的地方,它负责解析 job 脚本,处理任务,调度计算资源。agentagent 负责处理从 master 分发的任务,操作实际上是通过 executor 来执行的。executorexecutor 就是执行任务的计算资源,它可以
1. 为什么需要 HelmKubernetes 中一个重要的设计理念就是,声明式的操作。用户通过设置系统的预期状态来改变系统。例如,现在的副本数量是 2 ,需要调整为 3。声明式的处理方式是,修改配置文件中副本数量为 3 ;命令式的处理方式是,发送增加一个副本的命令,+1。使用申明式配置的系统更关注
1. Jenkins 的工作模式Jenkins 是一个单 Master,多 Slave 架构。Master 负责分配任务、管理服务。 Slave 负责执行具体任务。即使部署了多个 Master,这些 Master 之间依然相互独立,无法协同调度。在高可用的 Jenkins 方案中,需要借助外部的任务
1. 问题描述配置 Webhook 自动触发执行 Jenkins 流水线时,报错:1 2 3 hudson.plugins.git.GitException: Command "git checkout -f 23b446ea" returned status code 128: stdout:
在前面两篇文档,在 Kubernetes 上动态创建 Jenkins Slave 和 Kubernetes 添加 Windows 节点提供 Jenkins 构建动态 Agent 的基础之上,本篇文档主要尝试在 Kubernetes 上动态提供 Windows 构建 Agent 。1. 新增流水线Ku
使用 Jenkins 总是离不开各种各样的插件,为了更好的实践 DevOps ,我们也应该具备开发插件的能力,使整个流程都能够在 Jenkins 中汇合。1. Jenkins 插件1.1 插件的生态Jenkins 前身 Hudson 始于 2004 ,历经 16 年,依然作为主流的 CI/CD 引擎
在 CICD 的流程中,需要保存的产物主要有两类,构建产物和缓存。构建产物是最终的执行结果,缓存是为了优化下一次的构建速度。本篇主要描述的是在 Jenkins 中如何对构建产物和缓存进行归档,并结合对象存储进行实践。有部分示例使用的是 在 Kubernetes 上动态创建 Jenkins Slave
1. 遇到了什么问题Jenkins 执行日志报错:1 2 3 4 5 6 Started by user admin Lightweight checkout support not available, falling back to full checkout. Checking out git
前面的文档中,我们利用 Kubernetes 提供的弹性,在 Kubernetes 上动态创建 Jenkins Slave 。本篇文档主要是对 Jenkins 进行大规模构建的压力测试。1. 集群配置1.1 Kubernetes 版本这里使用的是 v1.16.71 2 3 4 kubectl ver
1. Jenkins X 简介Jenkins 依靠庞大的插件生态,占据了目前大部分的企业级 CICD 引擎的份额。但在云原生时代,Jenkins 也暴露出很多的问题,单点服务、磁盘存储、内存占用等。Jenkins X 围绕 Kubernetes,提供了一种更适合云原生时代的 DevOps 方式。Je
本文同样适用于接入 ARM、MIPS 架构,FreeBSD、Windows 系统的物理机,如果 Jenkins 能连上构建机,可以跳过 Frp 部分。1. 遇到的问题在以 Kubernetes 为基础设施的场景下,Jenkins 构建流水线时,将为每一条流水线单独创建一个 Pod 用于构建。Pod
从原理上看,在 Kubernetes 集群中,Jenkins 都可以使用 Podman 进行镜像构建,本文主要以 Containerd 为例。1. 去 Docker 给 CICD 带来新的挑战在 CICD 场景下, 我们经常需要在流水线中构建和推送镜像。在之前的文档 《在 Kubernetes 上动
下面是一个 Jenkins 与 Tekton 对比的列表:功能JenkinsTekton编程语言JavaGolang开发插件语言JavaShell、Yaml流水线描述语言Groovy、ShellYaml、Shell插件生态很多插件,LDAP、GitLab不足插件数量1500+100+插件之间的兼容性
1. 配置较大的 -Xms -Xmx 参数Jenkins 是由 Java 编写的编排引擎, 在 Full GC 时会 Stop The World(STW)。在大规模构建时, STW 可能会导致 Jenkins 无法处理新的请求。为了避免频繁的 STW, 同时增大并发量, 建议设置较大的堆, -Xm
1. 如何部署 Jenkins为了方面进行下面的测试,先介绍两种部署 Jenkins 的方式,这里使用的是 shaowenchen/jenkins:2.277.4 镜像。在生产环境中,需要替换为官方 jenkins/jenkins 镜像或自己定制的镜像。1.1 docker-compose 运行do
1.背景1.1 目前使用 Jenkins 遇到的问题编排引擎不稳定Jenkins 是由 Java 编写的编排引擎,在 Full GC 时会 Stop The World(STW)。在大规模构建时,STW 可能会导致 Jenkins 无法处理新的请求。大量构建卡顿Jenkins 使用磁盘文件存储数据,
1. 问题背景在 Jenkins 中添加了很多个构建节点使用同一个 Label 以供流水线使用,但是 Jenkins 却每次都倾向于在同一个节点进行构建。这导致了并发问题,单个节点的压力过大,而其他节点空闲,负载极其不均衡。2. 业务流水线的设计上述问题的产生和业务流水线的设计有一定的关系。目前的业