Jenkins流水线管理工具

文章目录


前言: DevOps时代的自动化核心 ---Jenkins

Jenkins作为 DevOps 工具链中当之无愧的 "自动化中枢",正凭借其强大的持续集成与持续交付(CI/CD)能力,重塑全球千万开发团队的协作模式。

作为一款开源自动化服务器,Jenkins 的核心使命是通过全流程自动化,消除手动干预的低效与风险。它能无缝衔接代码提交、构建、测试、部署等环节,让开发、测试、运维团队在统一的平台上协同,实现 "代码即部署" 的敏捷愿景。无论是小型初创团队的快速迭代,还是大型企业复杂架构的多环境部署,Jenkins 都以高度的灵活性和扩展性,成为支撑技术落地的基础设施。

从自动化构建代码、运行测试用例,到一键部署至生产环境;

从可视化流水线监控全流程,到通过插件生态集成 Docker、Kubernetes、云服务商等工具

Jenkins 用标准化的流程和开放的生态,让 "持续交付高质量软件" 从理想变为现实。

本文将深入解析 Jenkins 的核心价值、典型应用场景及实操指南,带您揭开这款 DevOps 神器的神秘面纱。


一、Jenkins是什么?

Jenkins 是一款开源的自动化服务器,核心定位是为软件开发和运维提供 持续集成(CI) 与 持续交付 / 部署(CD) 的全流程自动化支持。它通过自动化代码构建、测试、部署等关键环节,帮助开发团队高效协作,快速交付高质量软件。
核心特性:
全流程自动化: 从代码提交到生产环境部署,无需人工干预,支持自动触发构建、运行测试用例、打包发布等操作。
灵活可扩展: 通过丰富的插件生态(支持 Git、Docker、Kubernetes、JUnit 等工具集成),适配不同技术栈和复杂场景。
可视化与监控: 提供 Pipeline 流水线可视化界面,实时追踪流程状态,支持失败报警和日志分析,提升问题排查效率。
跨平台支持: 可部署在 Linux、Windows、macOS 等系统,适用于从小型团队到企业级的多样化需求。

二、Linux安装Jenkins

war包方式安装

依赖环境

Java 环境

Jenkins 基于 Java 运行,需提前安装 JDK,由于Jenkins插件很多都依赖JDK17以上版本,所以为了保证插件可以使用,推荐安装JDK17以上版本。这里安装了21版本

debain系统

shell 复制代码
# 更新包列表
sudo apt update
# 安装 OpenJDK 21
sudo apt install openjdk-21-jdk
# 验证安装(应显示 21 版本信息)
java -version

RedHat系统

powershell 复制代码
# 更新系统软件包列表和依赖
sudo dnf update -y
# 安装 OpenJDK 21
sudo dnf install -y java-21-openjdk
# 验证安装(应显示 21 版本信息)
java -version

下载 Jenkins WAR 包

Jenkins 官网下载相应war包到本地,后上传到服务器。
LTS 是长期支持的版本,是稳定的版本

在下载安装包之前要先确定应该下载哪个版本的 JenkinsJenkins 的版本依赖于 Java 的版本,可在 Jenkins-Java Support Policy 中进行查看

如果你下载的 Jenkins 版本与本地 Java 不支持,那么 Jenkins 是无法安装成功的,例如服务器上 JDK 的版本是 1.8.0_311,也就是 Java 8,那么只能安装 2.346.1 或者该版本之前的

或者在服务器通过命令行的方式下载

shell 复制代码
wget https://get.jenkins.io/war-stable/2.289.3/jenkins.war

启动 Jenkins 服务

通过 Java 命令直接启动,默认端口是8080,支持自定义端口(如8090):​

shell 复制代码
java -jar jenkins.war --httpPort=8090

启动日志验证

出现Jenkins is fully up and running表示启动成功。​

配置插件镜像源

powershell 复制代码
sed -i 's#https://updates.jenkins.io/download#https://mirrors.tuna.tsinghua.edu.cn/jenkins#g' default.json
sed -i 's#http://www.google.com#https://www.baidu.com#g' default.json

上面两行命令的含义

插件查找搜索地址(默认为 http://www.google.com/),我们更换成百度的地址;

插件下载地址(默认为 https://updates.jenkins.io/download),我们更换成国内镜像地址

docker镜像方式安装

依赖环境

Docker

确保服务器已安装 Docker,可以通过以下命令检查 Docker 是否安装

shell 复制代码
docker --version

如果未安装,参考文档进行安装

拉取 Jenkins 镜像

从 Docker Hub 拉取 Jenkins 官方镜像,推荐使用 LTS(长期支持)版本,保证稳定性和安全性。执行以下命令拉取镜像:

powershell 复制代码
docker pull jenkins/jenkins:lts

拉取完成后,可以使用docker images命令查看已下载的 Jenkins 镜像。

运行 Jenkins 容器

使用docker run命令创建并启动 Jenkins 容器,同时进行端口映射和数据卷挂载。以下是常用的启动命令示例:

shell 复制代码
docker run \
  -u root \
  --name jenkins \
  -d \
  -p 8080:8080 \
  -p 50000:50000 \
  -v jenkins-data:/var/jenkins_home \
  -v /var/run/docker.sock:/var/run/docker.sock \
  jenkins/jenkins:lts

获取初始密码并访问 Jenkins

获取初始密码:Jenkins 首次启动时需要使用初始密码进行解锁,通过以下命令查看密码:

powershell 复制代码
docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword

配置Jenkins插件镜像源

进入 Jenkins 容器

shell 复制代码
docker exec -it jenkins bash

这里的 jenkins 是 Jenkins 容器的名称,若你的容器名称不同,需进行相应替换。

使用 sed 替换配置文件内容:

shell 复制代码
sed -i 's|https://updates.jenkins.io/update-center.json|https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json|g' /var/jenkins_home/hudson.model.UpdateCenter.xml

退出容器并重启 Jenkins 容器:

shell 复制代码
exit
docker restart jenkins
powershell 复制代码
cat ~/.jenkins/secrets/initialAdminPassword

三、初始化配置​

访问初始配置页面

在浏览器输入地址:http://服务器IP:端口号(如http://localhost:8090),如果是云服务器,那么需要在安全策略里面开放端口。

首次访问需获取初始管理员密码,可以在控制台上查看管理员密码,也可以通过一下命令查看管理员密码。

安装推荐插件

如果已经在后台配置镜像加速源,配置完成并重启服务后,我们可以在前端界面上选择安装推荐插件,会自动安装 Git、Maven 等常用插件。

如果没有配置镜像源,这里建议点击 选择插件来安装,在点击 ,不安装任何插件,再点击 安装,因为我们没有配置镜像,安装插件是从外网下载过来的,会比较慢,并且下载的插件可能会出现不兼容等状况,导致失败率很高。

创建管理员

用户插件安装完成后,按提示创建用户(如账号admin,密码自定义),完成初始化。​

进入以下页面配置 jenkins 的 url ,一般使用默认的就行了,保存并完成

重启 Jenkins

如需修改配置或插件,通过以下地址重启服务:​

shell 复制代码
http://localhost:8090/restart​

总结

参考文档

Linux - 安装 Jenkins(详细教程)

【Jenkins】之配置国内镜像加速

相关推荐
视觉震撼11 分钟前
RDP登录事件详细溯源分析脚本(兼容Windows PowerShell版本)
运维·网络·windows·网络安全·网络攻击模型·安全威胁分析·安全架构
noravinsc33 分钟前
两台 centos 7.9 部署 pbs version 18.1.4 集群
linux·运维·centos
你的微笑,乱了夏天34 分钟前
linux centos常用命令整理
linux·运维·centos
网硕互联的小客服1 小时前
Windows2008 如何禁用FSO?
运维·服务器·网络·windows·安全
塔能物联运维2 小时前
物联网运维中的多模态数据融合与智能决策优化技术
运维·物联网
xingyue_S2 小时前
LVS负载均衡群集(一) -- NAT模式
运维·负载均衡·lvs
淮北4942 小时前
如何在ubuntu调用exe文件
linux·运维·ubuntu
蒋星熠2 小时前
全栈开发实战指南:从架构设计到部署运维
运维·c++·python·系统架构·node.js·devops·c5全栈
HalvmånEver2 小时前
Linux:基础开发工具(一)
linux·运维·服务器·开发语言·学习·进阶学习
real_haha3 小时前
Fabric 学习资料总结 持续更新
运维·fabric