云原生 DevOps 工具链从入门到实战(第二期)——Jenkins安装与基础配置——CICD核心引擎

云原生 DevOps 工具链从入门到实战(第二期)------Jenkins安装与基础配置------CI/CD核心引擎

更多云原生DevOps技能学习请戳这里:云原生 DevOps 工具链从入门到实战

我的主页:AOwhisky,这里有更多运维系统性知识整理和其他有趣内容,欢迎与我一起探讨学习~

📖 引言:给 DevOps 装上"发动机"

第一期我们完成了 GitLab 的部署,代码有了"家"。但代码仓库只是起点------开发者把代码推上去了,然后呢?谁来负责自动编译、自动测试、自动打包?谁来把构建好的程序部署到服务器上?

这些重复性的"体力活",如果全部靠人工完成,效率低、易出错、难追溯。我们需要一个自动化引擎------它能在代码提交的瞬间自动拉起构建流程,像生产线一样把"代码原材料"加工成"可运行的软件"。

这就是 Jenkins 的使命。

💡 白话理解:如果说 GitLab 是"原料仓库",那么 Jenkins 就是"自动化工厂"------你把代码提交到仓库,Jenkins 自动完成编译、测试、打包、部署,全程无需人工干预。

Jenkins 是目前 DevOps 工具链中使用最广泛的 CI/CD 自动化服务器。本期我们将完成 Jenkins 的安装、配置和初步验证,让这个"工厂"先运转起来。
--- Compiled and Authored by Whisky --- July 26 th, 2026

📑 本期目录

  1. Jenkins 概述
  2. 环境准备与前置依赖
  3. Docker 部署 Jenkins
  4. Jenkins 初始化配置
  5. 插件管理
  6. 全局工具配置(JDK / Maven)
  7. 构建任务入门
  8. 总结与知识点一览表

正文

一、Jenkins 概述

1.1 什么是 Jenkins

Jenkins 是一个开源的、基于 Java 的持续集成和持续交付(CI/CD)自动化服务器。它被广泛应用于软件开发流程中,用于自动化构建、测试和部署代码,从而提高开发效率、软件质量和发布速度。

💡 白话理解:Jenkins 就像一个"自动化的流水线工人"------你告诉它"当代码仓库有变化时,执行一系列任务(编译、测试、打包、部署)",它就会不折不扣地完成任务,还会把结果告诉你。

1.2 Jenkins 的核心能力
能力 说明 典型场景
持续集成 代码提交后自动触发构建和测试 每次 Push 后自动运行单元测试
持续交付 自动化部署到测试/预发布环境 每日构建自动部署到测试环境
持续部署 通过质量门禁后自动发布到生产 通过全部测试后自动上线
插件扩展 1800+ 插件支持各种工具集成 Git/Maven/Docker/K8s/SonarQube
分布式构建 多 Agent 并行执行任务 加速大规模构建
定时任务 按计划执行构建或任务 每日凌晨自动构建
1.3 Jenkins 的核心组件
text 复制代码
┌─────────────────────────────────────────────────────────┐
│                  Jenkins 架构                           │
├─────────────────────────────────────────────────────────┤
│                                                         │
│   ┌─────────────┐     ┌─────────────┐                  │
│   │  Jenkins    │────▶│   Web UI    │  用户交互界面     │
│   │   Master    │     │  (8080)     │                  │
│   │  (主节点)   │     └─────────────┘                  │
│   │             │                                      │
│   │  调度/管理  │     ┌─────────────┐                  │
│   │  分配任务   │────▶│  插件系统   │  1800+ 插件      │
│   └─────────────┘     └─────────────┘                  │
│          │                                              │
│          ▼                                              │
│   ┌─────────────┐                                      │
│   │   Agent     │  执行构建任务的计算节点               │
│   │  (执行器)   │  (本期不涉及,后续扩展)             │
│   └─────────────┘                                      │
│                                                         │
└─────────────────────────────────────────────────────────┘
组件 说明 本期状态
Master(主节点) 提供 Web UI,管理配置,调度构建作业 ✅ 本期部署
Agent(执行器) 实际执行构建任务的计算资源 后续章节
Plugin(插件) 扩展 Jenkins 功能的模块 ✅ 本期配置
Job/Pipeline 定义了构建任务的具体内容和步骤 ✅ 本期入门

二、环境准备与前置依赖

2.1 服务器环境

在开始部署 Jenkins 之前,需要确保服务器满足以下条件:

检查项 要求 验证命令
操作系统 CentOS 7.x / Ubuntu 20.04 cat /etc/redhat-release
内存 建议 ≥ 4GB free -h
磁盘 建议 ≥ 20GB df -h
Docker 已安装并运行 docker --version
网络 可访问外网(拉取镜像) ping google.com

⚠️ 注意:Jenkins 是 Java 应用,对内存有一定要求。生产环境建议至少 4GB 内存,测试环境 2GB 勉强可用。

2.2 关闭防火墙和 SELinux
bash 复制代码
# 关闭防火墙
systemctl disable firewalld.service --now

# 临时关闭 SELinux
setenforce 0

# 永久关闭 SELinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
2.3 Maven 部署

Jenkins 构建 Java 项目需要 Maven,我们先在宿主机上准备好 Maven。

bash 复制代码
# 解压 JDK 和 Maven(已有压缩包)
tar zxvf jdk-8u171-linux-x64.tar.gz -C /usr/local/
tar zxvf apache-maven-3.6.2-bin.tar.gz -C /usr/local/

# 重命名
cd /usr/local/
mv apache-maven-3.6.2/ maven
mv jdk1.8.0_171/ jdk

配置 Maven 阿里云镜像仓库

bash 复制代码
vim /usr/local/maven/conf/settings.xml

找到 <mirrors> 标签(约 159 行),在注释符号 <!-- --> 外面添加:

xml 复制代码
<mirror>
    <id>aliyunmaven</id>
    <mirrorOf>central</mirrorOf>
    <name>阿里云公共仓库</name>
    <url>https://maven.aliyun.com/repository/public</url>
</mirror>

配置 Maven 支持 JDK 1.8

找到 <profiles> 标签(约 253 行),添加:

xml 复制代码
<profile>
    <id>jdk8</id>
    <activation>
        <activeByDefault>true</activeByDefault>
        <jdk>1.8</jdk>
    </activation>
    <properties>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <maven.compiler.compilerversion>1.8</maven.compiler.compilerversion>
    </properties>
</profile>

找到 <activeProfiles> 标签(约 275 行),添加:

xml 复制代码
<activeProfiles>
    <activeProfile>jdk8</activeProfile>
</activeProfiles>
2.4 Docker 部署

Jenkins 本身以容器方式运行,但需要宿主机 Docker 环境支持容器内构建镜像。

安装 Docker

bash 复制代码
# 卸载旧版本
sudo yum remove docker docker-common docker-selinux docker-engine

# 安装依赖包
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

# 设置华为云镜像源
wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.huaweicloud.com/docker-ce/linux/centos/docker-ce.repo
sudo sed -i 's+download.docker.com+mirrors.huaweicloud.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo

# 安装 Docker
sudo yum makecache fast
sudo yum install docker-ce -y

# 设置开机自启
systemctl enable docker --now

配置镜像加速

bash 复制代码
tee /etc/docker/daemon.json <<-'EOF'
{
    "registry-mirrors": [
        "https://mirror.ccs.tencentyun.com",
        "https://docker.m.daocloud.io",
        "https://dockerproxy.com",
        "https://docker.mirrors.ustc.edu.cn"
    ]
}
EOF

# 重启 Docker
systemctl daemon-reload
systemctl restart docker
2.5 docker-compose 工具安装
bash 复制代码
# 下载 docker-compose(替换为实际版本)
curl -L "https://github.com/docker/compose/releases/download/v2.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

# 添加执行权限
chmod +x /usr/local/bin/docker-compose

# 验证
docker-compose --version

三、Docker 部署 Jenkins

3.1 拉取 Jenkins 镜像

我们选择一个稳定且适配 JDK 8 的版本:

bash 复制代码
docker pull jenkins/jenkins:2.346.3-lts-jdk8

💡 版本选择建议2.346.3-lts-jdk8 是长期支持版(LTS),基于 JDK 8,与我们的 Java 项目兼容性好。如果需要 JDK 11/17,可选用更新的版本。

3.2 创建资源目录
bash 复制代码
# 创建 Jenkins 数据目录
mkdir -p /usr/local/docker/jenkins_docker

# 进入目录
cd /usr/local/docker/jenkins_docker
3.3 编写 docker-compose.yml
yaml 复制代码
version: "3.1"

services:
  jenkins:
    image: jenkins/jenkins:2.346.3-lts-jdk8
    container_name: jenkins
    ports:
      - 8080:8080      # Jenkins Web 端口
      - 50000:50000    # Agent 通信端口
    volumes:
      - ./data/:/var/jenkins_home/   # 持久化 Jenkins 数据
3.4 启动 Jenkins
bash 复制代码
# 启动
docker-compose up -d

# 查看日志(获取初始密码)
docker logs -f jenkins

预期输出

text 复制代码
2025-06-26 07:52:55.564+0000 [id=27] INFO jenkins.install.SetupWizard#init:
*************************************************************
*************************************************************
*************************************************************

Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx   # ← 这是初始密码(32位字符串)

*************************************************************
*************************************************************
*************************************************************

查看容器状态

bash 复制代码
docker ps -a | grep jenkins

预期输出

text 复制代码
CONTAINER ID   IMAGE                                      STATUS        PORTS
0eb81fc79a4a   jenkins/jenkins:2.346.3-lts-jdk8           Up 2 minutes  0.0.0.0:8080->8080/tcp
3.5 解决常见启动问题

问题 1:权限被拒绝(Permission denied)

text 复制代码
touch: cannot touch '/var/jenkins_home/copy_reference_file.log': Permission denied

解决方法:给 data 目录赋予写权限

bash 复制代码
chmod 777 /usr/local/docker/jenkins_docker/data/
docker-compose restart

问题 2:其他主机无法访问 Jenkins

原因:服务器未开启 IP 转发

解决方法

bash 复制代码
vim /etc/sysctl.conf
# 在末尾添加
net.ipv4.ip_forward = 1

sysctl -p

四、Jenkins 初始化配置

4.1 访问 Jenkins Web 页面

在浏览器中输入:http://<服务器IP>:8080

text 复制代码
┌──────────────────────────────────────────────┐
│                    Jenkins                   │
│                                              │
│   Unlock Jenkins                             │
│                                              │
│   To ensure Jenkins is securely set up by    │
│   the administrator, a password has been     │
│   generated and written to the log.          │
│                                              │
│   ┌─────────────────────────────────────┐    │
│   │  Administrator password             │    │
│   │  [________________________________] │    │
│   └─────────────────────────────────────┘    │
│                                              │
│   [ Continue ]                               │
└──────────────────────────────────────────────┘
4.2 解锁 Jenkins

docker logs -f jenkins 中显示的初始密码(32位字符串)粘贴到输入框中,点击 Continue

4.3 自定义 Jenkins 插件安装

Jenkins 提供两种插件安装方式:

方式 说明 推荐场景
安装推荐插件 自动安装常用插件集 初学者、快速体验
选择插件安装 手动挑选需要的插件 生产环境、定制化需求

本期我们选择"选择插件安装",只安装后续实战需要的核心插件:

插件名称 用途
Git 从 Git 仓库拉取代码
Git Parameter 支持在构建时选择 Git 分支/Tag
Publish Over SSH 将构建产物通过 SSH 发送到目标服务器
SonarQube Scanner 代码质量扫描(后续章节使用)
Blue Ocean 现代化的 Pipeline 可视化界面

跳过插件安装也可以------后续在"系统管理 → 插件管理"中随时安装。

4.4 创建管理员用户

插件安装完成后,进入管理员用户创建页面:

text 复制代码
┌──────────────────────────────────────────────┐
│   Create First Admin User                   │
│                                              │
│   Username:   [________________]            │
│   Password:   [________________]            │
│   Full name:  [________________]            │
│   Email:      [________________]            │
│                                              │
│            [ Save and Continue ]             │
└──────────────────────────────────────────────┘

填写建议

字段 建议值 说明
Username admin 简洁易记
Password 设置强密码 生产环境建议 8 位以上含特殊字符
Full name Administrator 显示名称
Email 真实邮箱 用于接收通知
4.5 实例配置

Jenkins URL 保持默认(http://<IP>:8080),点击 Save and FinishStart using Jenkins

text 复制代码
✅ Jenkins is ready!

💡 生产环境建议 :如果 Jenkins 配置了域名(如 https://jenkins.company.com),此处应填写域名地址,避免构建时 URL 指向错误。

五、插件管理

5.1 查看已安装插件

进入 系统管理插件管理已安装,可以看到当前已安装的插件列表。

5.2 安装新插件

方式一:通过 Web 界面安装

  1. 进入 系统管理插件管理可选插件
  2. 搜索需要的插件名称
  3. 勾选插件后点击 Install without restart(安装后不重启)

方式二:上传插件(离线安装)

当 Jenkins 服务器无法访问外网时,可以通过上传 .hpi 文件安装:

  1. 进入 系统管理插件管理高级上传插件
  2. 选择 .hpi 文件 → 点击 上传
5.3 更换国内镜像源(加速插件下载)

如果插件下载速度慢,可以更换为国内镜像源:

bash 复制代码
# 进入 Jenkins 数据目录
cd /usr/local/docker/jenkins_docker/data/

# 备份原配置
mv hudson.model.UpdateCenter.xml hudson.model.UpdateCenter.xml.bk

# 复制一份用于修改
cp -p hudson.model.UpdateCenter.xml.bk hudson.model.UpdateCenter.xml

# 修改为清华源
vim hudson.model.UpdateCenter.xml

将内容替换为:

xml 复制代码
<?xml version='1.1' encoding='UTF-8'?>
<sites>
  <site>
    <id>default</id>
    <url>https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json</url>
  </site>
</sites>

重启 Jenkins 使配置生效:

bash 复制代码
docker-compose restart

六、全局工具配置

Jenkins 需要知道 JDK 和 Maven 的位置,才能执行构建任务。

6.1 将 JDK 和 Maven 复制到 Jenkins 工作目录
bash 复制代码
# 复制 JDK 和 Maven 到 Jenkins 数据目录
cp -r /usr/local/jdk /usr/local/docker/jenkins_docker/data/
cp -r /usr/local/maven /usr/local/docker/jenkins_docker/data/

💡 路径说明/var/jenkins_home/ 是 Jenkins 容器内的工作目录,对应宿主机的 /usr/local/docker/jenkins_docker/data/

6.2 配置 JDK

进入 系统管理全局工具配置

text 复制代码
┌─────────────────────────────────────────────────────────────────┐
│  全局工具配置                                                  │
├─────────────────────────────────────────────────────────────────┤
│  JDK                                                            │
│  ┌─────────────────────────────────────────────────────────┐   │
│  │  JDK installations                                      │   │
│  │  [+]  Add JDK                                           │   │
│  │                                                         │   │
│  │  Name:        [jdk8              ]                      │   │
│  │  JAVA_HOME:   [/var/jenkins_home/jdk  ]                 │   │
│  │  ☑ Install automatically (取消勾选)                    │   │
│  └─────────────────────────────────────────────────────────┘   │
└─────────────────────────────────────────────────────────────────┘

关键配置

字段 说明
Name jdk8 自定义名称,后续构建时引用
JAVA_HOME /var/jenkins_home/jdk Jenkins 容器内的 JDK 路径
Install automatically ❌ 取消勾选 我们手动配置路径
6.3 配置 Maven

在同一个页面向下滚动到 Maven 部分:

text 复制代码
┌─────────────────────────────────────────────────────────────────┐
│  Maven                                                          │
│  ┌─────────────────────────────────────────────────────────┐   │
│  │  Maven installations                                     │   │
│  │  [+]  Add Maven                                          │   │
│  │                                                         │   │
│  │  Name:        [maven3.6            ]                    │   │
│  │  MAVEN_HOME:  [/var/jenkins_home/maven]                 │   │
│  │  ☑ Install automatically (取消勾选)                    │   │
│  └─────────────────────────────────────────────────────────┘   │
└─────────────────────────────────────────────────────────────────┘

关键配置

字段 说明
Name maven3.6 自定义名称
MAVEN_HOME /var/jenkins_home/maven Jenkins 容器内的 Maven 路径
Install automatically ❌ 取消勾选 手动配置
6.4 保存配置

点击页面底部的 应用保存

七、配置 SSH 目标服务器

为了将构建产物(如 JAR 包)发送到目标服务器,需要配置 SSH 连接。

7.1 安装 Publish Over SSH 插件

如果尚未安装,进入 系统管理插件管理可选插件 ,搜索 Publish Over SSH 并安装。

7.2 配置 SSH 服务器

进入 系统管理系统配置 ,找到 Publish over SSH 部分:

text 复制代码
┌─────────────────────────────────────────────────────────────────┐
│  Publish over SSH                                              │
│  ┌─────────────────────────────────────────────────────────┐   │
│  │  SSH Servers                                            │   │
│  │  [+]  Add                                               │   │
│  │                                                         │   │
│  │  Name:           [test               ]                  │   │
│  │  Hostname:       [192.168.100.155    ]                  │   │
│  │  Username:       [root               ]                  │   │
│  │  Remote Directory:[/usr/local/test   ]                  │   │
│  │  Password / Key:  [________________]                    │   │
│  │                                                         │   │
│  │  [   Test Configuration   ]                             │   │
│  └─────────────────────────────────────────────────────────┘   │
└─────────────────────────────────────────────────────────────────┘

关键配置

字段 说明
Name test 配置名称,后续构建时选择
Hostname 192.168.100.155 目标服务器 IP
Username root 目标服务器登录用户名
Remote Directory /usr/local/test 文件发送到的远程目录
Password 目标服务器的 root 密码 与 Hostname 对应的密码

⚠️ 注意 :如果目标服务器没有 /usr/local/test 目录,需要先手动创建:

bash 复制代码
# 在目标服务器上执行
mkdir -p /usr/local/test

点击 Test Configuration ,如果显示 Success,说明 SSH 连接配置成功。

7.3 保存配置

点击页面底部的 应用保存

八、构建任务入门

为了验证 Jenkins 配置是否正确,我们创建一个简单的构建任务。

8.1 创建任务
  1. 点击 Jenkins 首页的 新建任务(New Item)
  2. 输入任务名称:mytest
  3. 选择 构建一个自由风格的软件项目(Freestyle project)
  4. 点击 OK
8.2 配置源码管理
text 复制代码
┌─────────────────────────────────────────────────────────────────┐
│  源码管理                                                       │
│  ┌─────────────────────────────────────────────────────────┐   │
│  │  ● Git                                                  │   │
│  │  Repository URL:  http://192.168.100.153:82/chen_group/web_demo.git │   │
│  │  Credentials:     [chen / ****]                         │   │
│  │  Branches to build: [*/master]                          │   │
│  └─────────────────────────────────────────────────────────┘   │
└─────────────────────────────────────────────────────────────────┘

步骤说明

  1. 选择 Git
  2. Repository URL 中填写 GitLab 项目地址
  3. 点击 Credentials 右侧的 Add,添加 GitLab 认证凭据
  4. 填写 GitLab 用户名和密码
  5. 确认凭据添加成功后,选择该凭据
  6. Branch 保持 */master*/main
8.3 配置构建步骤

点击 添加构建步骤调用顶层 Maven 目标

text 复制代码
┌─────────────────────────────────────────────────────────────────┐
│  构建                                                           │
│  ┌─────────────────────────────────────────────────────────┐   │
│  │  Maven Version:  [maven3.6              ]               │   │
│  │  Goals:          [clean package -DskipTests]            │   │
│  └─────────────────────────────────────────────────────────┘   │
└─────────────────────────────────────────────────────────────────┘
参数 含义
clean 清除之前构建生成的 target 目录
package 编译并打包成 JAR/WAR 文件
-DskipTests 跳过单元测试执行(加快构建速度)
8.4 第一次构建

点击 保存立即构建

查看构建日志

点击构建记录(如 #1)→ Console Output,可以看到构建过程的完整日志。

成功标志

text 复制代码
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 4.296 s
[INFO] Finished at: 2025-06-26T06:09:33Z
[INFO] ------------------------------------------------------------------------
8.5 验证构建产物

进入 Jenkins 容器,查看生成的 JAR 包:

bash 复制代码
# 进入容器
docker exec -it jenkins bash

# 进入工作空间
cd /var/jenkins_home/workspace/mytest/target/

# 查看 JAR 包
ls -la *.jar

预期输出

text 复制代码
-rw-r--r-- 1 jenkins jenkins 15M Jun 26 06:09 demo-0.0.1-SNAPSHOT.jar

📝 总结与知识点一览表

本期核心知识点

类别 知识点 核心内容
Jenkins 概述 CI/CD 自动化服务器 持续集成、持续交付、插件扩展
部署方式 Docker + docker-compose 容器化部署,数据持久化
初始化配置 解锁密码、插件安装、管理员创建 首次启动的关键步骤
插件管理 安装 Git / Git Parameter / Publish Over SSH 核心插件安装
全局工具 JDK + Maven 配置 构建 Java 项目的基础
SSH 配置 Publish Over SSH 构建产物远程发送
构建任务 Freestyle 项目 源码拉取 + Maven 构建

常用 Jenkins 命令速查

操作 命令
查看初始密码 docker logs -f jenkins
进入容器 docker exec -it jenkins bash
重启 Jenkins docker-compose restart
查看日志 docker-compose logs -f jenkins
停止服务 docker-compose down
启动服务 docker-compose up -d

常见错误排查指南

问题现象 可能原因 解决方法
Permission denied 启动失败 data 目录权限不足 chmod 777 data/
插件下载慢 连接国外源 更换清华镜像源
git clone 失败(403) 未配置认证凭据 添加 GitLab 用户名/密码
mvn: command not found Maven 未配置 检查全局工具配置中的 MAVEN_HOME
构建时 JDK 找不到 JAVA_HOME 配置错误 检查全局工具配置中的路径
Test Configuration 失败 SSH 连接信息错误 检查 IP/用户名/密码/端口

学习/生产最佳实践

  1. 数据持久化 :使用 volumes 挂载 data/ 目录,保证 Jenkins 配置在容器重启后不丢失。
  2. 定期备份 :备份 /usr/local/docker/jenkins_docker/data/ 目录,包含所有任务配置和插件。
  3. 使用 LTS 版本:生产环境应使用长期支持版(LTS),而非每周发布的测试版。
  4. 资源规划:Jenkins 构建消耗 CPU 和内存,确保服务器有足够的资源,尤其是有多个并发构建时。
  5. 安全配置:创建管理员用户后,立即禁用初始密码登录;建议配置 HTTPS 访问。

🔜 下期预告

本期我们完成了 Jenkins 的安装与基础配置------从 Docker 部署、初始化设置、插件安装、全局工具配置,到 SSH 目标服务器配置和第一个构建任务。

Jenkins 这个"自动化工厂"已经建好了,但目前它还是"空转"状态------虽然能构建,但还没有和代码仓库、开发环境、目标服务器形成完整的流水线。

下一期(第三期) ,我们将进入 开发环境搭建与 GitLab-Jenkins 集成------在 Windows 上配置完整的 Java 开发环境(JDK + Maven + IDEA + Git),将本地代码推送到 GitLab,并在 Jenkins 中完成从代码拉取到构建的自动化流程,实现"代码提交 → 自动构建 → 产物输出"的初步闭环。敬请期待!


本期(Jenkins 安装与基础配置)到此结束。 如果在操作过程中遇到任何问题,欢迎在评论区留言讨论!
--- Compiled and Authored by Whisky --- July 26 th, 2026

相关推荐
盐焗鹌鹑蛋1 小时前
【Linux】基础开发工具yum和vim
linux·运维·vim
AOwhisky1 小时前
Linux(CentOS)系统管理入门笔记(第十四期)——计划任务与进程调度管理:atcron 与 nicechrt
linux·运维·笔记·centos·云计算·进程调度·计划任务
小莫分享2 小时前
sshw:用交互搜索和 Web 配置高效管理 SSH Server
linux·运维·golang·开源·ssh
fthux2 小时前
GitHub Actions自动化运维实战:构建高效可靠的CI/CD流水线
运维·自动化·github
流浪0012 小时前
Linux系统22:——文件(六):目标文件与ELF深度解析:从编译到加载的全景揭秘
linux·运维·服务器
MrDJun2 小时前
长期稳定跑网页监控:TLS 指纹、代理选路与请求节流的工程实践
运维·爬虫·python·网络协议·网站监控
AAA@峥2 小时前
Ceph 集群配置管理完整指南
运维·数据库·分布式·ceph
kidwjb2 小时前
Linux内核-内核信号处理函数
linux·内核·信号处理
爱吃龙利鱼3 小时前
K8s 运维体系搭建:全组件监控与日志收集实战(victoria-metrics-k8s-stack 0.87.0)
运维·容器·kubernetes