一、Jenkins 安装

1.1 系统要求

  • 基础环境:Java 8 或 Java 11(推荐)、至少 2GB 内存、10GB 以上磁盘空间
  • 支持系统:Windows、Linux(Ubuntu/CentOS)、macOS
  • 网络端口:默认使用 8080 端口(需确保端口未被占用)

1.2 不同系统安装步骤(附图解)

1.2.1 Ubuntu 系统安装

步骤流程图解

执行命令

# 更新系统包
sudo apt update# 安装 Java 11
sudo apt install openjdk-11-jdk# 导入 Jenkins 密钥
wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -# 添加 Jenkins 源
sudo sh -c 'echo deb https://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'# 安装 Jenkins
sudo apt update && sudo apt install jenkins# 启动服务并设置开机自启
sudo systemctl start jenkins
sudo systemctl enable jenkins# 检查状态(出现 "active (running)" 即为成功)
sudo systemctl status jenkins
1.2.2 CentOS 系统安装

步骤流程图解

执行命令

# 安装 Java 11
sudo yum install java-11-openjdk-devel# 添加 Jenkins 源并导入密钥
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key# 安装 Jenkins
sudo yum install jenkins# 启动并设置自启
sudo systemctl start jenkins
sudo systemctl enable jenkins# 开放 8080 端口(防火墙配置)
sudo firewall-cmd --permanent --zone=public --add-port=8080/tcp
sudo firewall-cmd --reload# 验证端口
sudo firewall-cmd --list-ports | grep 8080
1.2.3 Windows 系统安装

步骤流程图解

操作步骤

  1. 下载安装包:访问 Jenkins 官网,选择 Windows 版本(.msi 格式)
  2. 双击安装包,按照向导提示完成安装(默认配置即可满足基础需求)
  3. 安装完成后,Jenkins 会自动作为服务启动,可在 “服务” 中查看状态(服务名:Jenkins)

二、Jenkins 初始配置

2.1 解锁 Jenkins(核心步骤图解)

解锁流程图解

详细操作

  1. 访问 Jenkins 界面:打开浏览器,输入 http://服务器IP:8080(本地部署用 localhost:8080)
  2. 获取初始密码
    • Linux 系统:执行命令 sudo cat /var/lib/jenkins/secrets/initialAdminPassword
    • Windows 系统:密码文件路径 C:\Program Files (x86)\Jenkins\secrets\initialAdminPassword

     3. 输入密码解锁:将获取到的密码复制到页面输入框,点击 “继续”

2.2 插件安装与管理员配置

配置流程图解

关键说明

  • 推荐插件:包含 Git、Pipeline、Maven Integration 等核心插件,适合新手
  • 自定义插件:后续可通过 “插件管理” 补充安装,常用插件清单:
    • Git:拉取 Git 仓库代码
    • Pipeline:创建流水线项目
    • Docker:Docker 镜像构建与部署
    • Publish Over SSH:通过 SSH 部署应用
    • NodeJS:构建前端(React/Vue)项目

三、Jenkins 全局配置(工具与环境)

3.1 配置 JDK(图解步骤)

配置流程图解

路径获取方法

  • Linux 系统:执行 which java 或 update-alternatives --config java,获取路径(如 /usr/lib/jvm/java-11-openjdk-amd64)
  • Windows 系统:默认路径 C:\Program Files\Java\jdk-11.x.x

3.2 配置 Maven(前端项目可跳过)

配置流程图解

  • 手动安装:若服务器已安装 Maven,取消 “自动安装”,填写路径(如 Linux 下 /usr/local/maven)

3.3 配置 SSH 服务器(用于应用部署)

配置流程图解

  • 认证方式说明
    • 密码认证:直接输入服务器登录密码(简单但安全性较低)
    • 密钥认证:将 Jenkins 服务器的公钥(~/.ssh/id_rsa.pub)添加到目标服务器的 ~/.ssh/authorized_keys 中(推荐)

四、创建第一个 Jenkins 项目(实战)

4.1 自由风格项目(适合简单任务)

创建流程图解

示例:构建简单 Java 项目

  • 源码管理:Git 仓库 URL(如 https://github.com/example/java-demo.git)
  • 构建步骤:选择 “执行 Shell”,输入 mvn clean package -DskipTests(编译打包)
  • 构建后操作:选择 “Publish over SSH”,将 target/*.jar 发送到目标服务器

4.2 Pipeline 项目(推荐,支持复杂流程)

Pipeline 用代码定义构建流程(Jenkinsfile),支持版本控制,适合团队协作。

4.2.1 Pipeline 项目创建图解

4.2.2 实战:Spring Boot 应用 Pipeline 脚本(含流程图解)

Pipeline 流程图解

脚本说明

  • agent any:使用任意可用的 Jenkins 节点(主节点或从节点)
  • stages:定义构建阶段,按顺序执行
  • post:构建完成后操作(成功 / 失败通知)

五、应用部署实战(前后端示例)

5.1 后端:Spring Boot 应用部署(Docker 方式)

部署流程图解

关键命令

# 构建镜像(在 Jenkinsfile 中)
docker build -t username/demo:${BUILD_NUMBER} .# 推送镜像(需配置 Docker 凭据)
docker login -u username -p password
docker push username/demo:${BUILD_NUMBER}# 目标服务器部署
docker stop demo || true
docker rm demo || true
docker run -d --name demo -p 8080:8080 username/demo:${BUILD_NUMBER}

5.2 前端:React 应用部署(Nginx 方式)

部署流程图解

Nginx 配置示例

server {listen 80;server_name demo-frontend.com; # 域名或服务器 IProot /usr/share/nginx/html; # Jenkins 推送的 build 目录路径index index.html;# 解决前端路由刷新 404 问题location / {try_files $uri $uri/ /index.html;}
}

六、Jenkins 安全与维护

6.1 用户权限控制(图解)

配置流程图解

常用权限说明

  • 只读:查看项目状态,无法触发构建
  • 构建:触发构建、查看日志,无法修改配置
  • 管理员:完全控制 Jenkins(配置、插件管理、用户管理)

6.2 数据备份与恢复

备份流程图解

备份脚本示例(Linux 系统):

#!/bin/bash
# backup_jenkins.sh
JENKINS_HOME="/var/lib/jenkins"
BACKUP_DIR="/var/backups/jenkins"
TIMESTAMP=$(date +"%Y%m%d_%H%M%S")# 创建备份目录
mkdir -p $BACKUP_DIR# 压缩备份
tar -zcvf $BACKUP_DIR/jenkins_backup_$TIMESTAMP.tar.gz $JENKINS_HOME# 删除 30 天前的备份
find $BACKUP_DIR -name "jenkins_backup_*.tar.gz" -mtime +30 -delete

定时任务配置

# 每天凌晨 2 点执行备份
crontab -e
0 2 * * * /path/to/backup_jenkins.sh

七、总结与进阶方向

7.1 核心能力回顾

通过本文学习,可掌握:

  1. 多系统 Jenkins 安装与初始配置
  2. 全局工具(JDK、Maven、Git)配置
  3. 自由风格与 Pipeline 项目创建
  4. 前后端应用部署实战(Docker、Nginx)
  5. 安全配置与数据备份

7.2 进阶方向

  1. 多环境部署:通过 Pipeline 实现开发、测试、生产环境一键切换
  2. 蓝绿部署 / 金丝雀发布:减少部署风险,实现无感知更新
  3. Jenkins 从节点:分布式构建,分担主节点压力(适合大型项目)
  4. 集成监控工具:如 Prometheus + Grafana,监控 Jenkins 构建状态与服务器资源

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/94957.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/94957.shtml
英文地址,请注明出处:http://en.pswp.cn/pingmian/94957.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

以国产IoTDB为代表的主流时序数据库架构与性能深度选型评测

> 💡 原创经验总结,禁止AI洗稿!转载需授权 > 声明:本文所有观点均基于多个领域的真实项目落地经验总结,数据说话,拒绝空谈! 目录 引言:时序数据库选型的“下半场” 一、维…

7.2elementplus的表单布局与模式

基础表单<template><el-form ref"ruleFormRef" :model"form" :rules"rules" label-width"100px"><el-form-item label"用户名" prop"username"><el-input v-model"form.username"…

PyTorch实战(3)——PyTorch vs. TensorFlow详解

PyTorch实战&#xff08;3&#xff09;——PyTorch vs. TensorFlow详解0. 前言1. 张量2. PyTorch 模块2.1 torch.nn2.2 torch.optim2.3 torch.utils.data3. 使用 PyTorch 训练神经网络小结系列链接0. 前言 PyTorch 是一个基于 Torch 库的 Python 机器学习库&#xff0c;广泛用…

在win服务器部署vue+springboot + Maven前端后端流程详解,含ip端口讲解

代码打包与基本配置 首先配置一台win系统服务器&#xff0c;开放你前端和后端运行的端口&#xff0c;如80和8080 前端打包 前端使用vue3&#xff0c;在打包前修改项目配置文件&#xff0c;我使用的是vite所以是vite.config.js。 import { defineConfig } from vite import …

Springcloud-----Nacos

一、Nacos的安装 Nacos是阿里推出的一种注册中心组件&#xff0c;并且已经开源&#xff0c;目前是国内最为流行的注册中心组件。下面我们来了解一下如何安装并启动Nacos。 Nacos是一个独立的项目&#xff0c;我们可以去GitHub上下载其压缩包来使用&#xff0c;地址如下&#x…

腾讯云重保流程详解:从预案到复盘的全周期安全防护

摘要 腾讯云针对国家级重大活动&#xff08;如进博会、冬奥会等&#xff09;提供的网络安全保障服务&#xff08;重保&#xff09;是一套系统化的主动防御体系。本文从“事前准备”“事中响应”“事后复盘”三个核心阶段出发&#xff0c;结合民生银行等典型用户的实战案例&…

单表查询-group by rollup优化

1、group by rollup基本用法 我们有时候在项目上看到group by rollup用法&#xff0c;其实就是对group by分组进行合计。 下面看一下例子 select count(1),c3 from t1 group by rollup(c3); 计划从计划中解读亦是如此&#xff0c;另外可以从结果上进行分析第21行的count其实就是…

云网络(参考自腾讯云计算工程师认证)

计算机网络&#xff1a;OSI七层模型&#xff1a; 应用层&#xff1a;负责处理网络应用程序之间的通信、 表示层&#xff1a;负责数据的格式化和加密、 会话层&#xff1a;负责建立、管理和终止会话、 传输层&#xff1a;负责端到端的可靠传输、 网络层&#xff1a;负责数据的路…

【MLLM】多模态理解Ovis2.5模型和训练流程(更新中)

note 模型架构&#xff1a;延续 Ovis 系列创新的结构化嵌入对齐设计。 Ovis2.5 由三大组件构成&#xff1a;动态分辨率 ViT 高效提取视觉特征&#xff0c;Ovis 视觉词表模块实现视觉与文本嵌入的结构对齐&#xff0c;最后由强大的 Qwen3 作为语言基座&#xff0c;处理多模态嵌…

mysql中的通用语法及分类

MySQL 是一种广泛使用的关系型数据库管理系统&#xff08;RDBMS&#xff09;&#xff0c;其语法设计遵循 SQL 标准&#xff0c;但也有一些特有的扩展。以下从​​通用语法规范​​和​​SQL 语句分类​​两个维度系统梳理 MySQL 的核心语法体系。一、MySQL 通用语法规范通用语法…

Linux-搭建NFS服务器

Linux-搭建NFS服务器前言一、网络配置二、在nfs服务器上安装nfs-utils软件包三、设置共享目录四、挂载NFS共享目录前言 NFS&#xff08;Network File System&#xff0c;网络文件系统&#xff09; 是一种分布式文件系统协议&#xff0c;最初由 Sun Microsystems 于 1984 年开发…

eslasticsearch+ik分词器+kibana

eslasticsearch 下载地址:https://www.elastic.co/cn/downloads/past-releases ik分词器 下载地址&#xff1a;https://release.infinilabs.com/analysis-ik/stable/ kibana 下载地址&#xff1a;https://www.elastic.co/cn/downloads/kibana 1、解压安装包 将下载的 zi…

SOME/IP-SD IPv4组播的通信参数由谁指定?

<摘要> 在AUTOSAR SOME/IP-SD协议中&#xff0c;组播通信参数&#xff08;地址、协议、端口&#xff09;的协商机制。其核心在于明确规定了组播流的发布者和接收者之间由谁来“指定”通信路径&#xff0c;从而确保双方能够成功会合&#xff0c;实现高效的一对多事件分发。…

新手首次操作SEO核心要点

内容概要 初次接触SEO的新手朋友们&#xff0c;面对浩瀚的网络优化知识&#xff0c;难免感到无从下手。这份2025年的零基础入门指南&#xff0c;正是为你们量身打造。它清晰地规划了学习路径&#xff0c;从最基础的网站搭建注意事项开始&#xff0c;帮助你避开常见陷阱&#xf…

AI、人工智能基础: 模型剪枝的概念与实践(PyTorch版)

胡说八道: 各位观众老爷&#xff0c;大家好&#xff0c;我是诗人啊_&#xff0c;今天和各位分享模型剪枝的相关知识和操作&#xff0c;一文速通&#xff5e; &#xff08;屏幕前的你&#xff0c;帅气低调有内涵&#xff0c;美丽大方很优雅… 所以&#xff0c;求个点赞、收藏、关…

Kubernetes 服务发现与健康检查详解

Kubernetes 提供了多种机制来管理服务发现、负载均衡和容器健康状态监控。本文将围绕以下几个方面展开&#xff1a;Service 类型&#xff1a;ClusterIP、NodePort、Headless Service、LoadBalancer&#xff08;MetallB&#xff09;Ingress 的实现原理健康检查探针&#xff1a;L…

如何规划一年、三年、五年的IP发展路线图?

‍在知识付费领域&#xff0c;规划 IP 发展路线&#xff0c;需要从短期、中期、长期不同阶段&#xff0c;系统地布局内容、运营与商业变现&#xff0c;逐步提升 IP 影响力与商业价值。一年目标&#xff1a;立足定位&#xff0c;夯实基础精准定位&#xff0c;打磨内容利用创客匠…

C++从入门到实战(二十)详细讲解C++List的使用及模拟实现

C从入门到实战&#xff08;二十&#xff09;C List的使用及模拟实现前言一、什么是List1.1 List的核心特性1.2 List与vector的核心差异1.3 List的构造、拷贝构造与析构1.3.1 常用构造函数1.3.2 析构函数1.4 List的迭代器1.4.1 迭代器类型与用法示例1&#xff1a;正向迭代器遍历…

人工智能学习:机器学习相关面试题(一)

1、 机器学习中特征的理解 def: 特征选择和降维 特征选择&#xff1a;原有特征选择出子集 &#xff0c;不改变原来的特征空间 降维&#xff1a;将原有的特征重组成为包含信息更多的特征&#xff0c; 改变了原有的特征空间降维的主要方法 Principal Component Analysis (主成…

亚马逊巴西战略升级:物流网络重构背后的生态革新与技术赋能之路

在全球电商版图中&#xff0c;拉美市场正以惊人的增长速度成为新的战略高地&#xff0c;而巴西作为其中的核心市场&#xff0c;凭借庞大的人口基数、高速发展的数字经济以及不断提升的消费能力&#xff0c;吸引着众多电商巨头争相布局。近日&#xff0c;亚马逊宣布将于2025年底…