18、CentOS 9 使用 1Panel 安装 Jenkins

🚀CentOS 9 使用 1Panel 安装 Jenkins------功能详解、优缺点及上手案例

在持续集成与持续交付(CI/CD)领域,Jenkins 是最具影响力、最常用的开源自动化工具之一。

如果你已经在服务器上使用了 1Panel,那么安装 Jenkins 会变得非常简单,只需几分钟即可完成。

本文将详细介绍:

  • Jenkins 是做什么的
  • 它的核心功能与优缺点
  • 如何在 CentOS 9 + 1Panel 中安装 Jenkins
  • 安装后的初始化步骤
  • 一个简单易懂的 Jenkins 构建 Java 项目的实践案例

📌 一、Jenkins 是什么?

Jenkins 是一个开源的自动化持续集成(CI)与持续交付(CD)平台,可帮助开发团队自动化构建、测试、部署软件。

一句话可以概括:

Jenkins = 自动化构建 + 自动化测试 + 自动化部署 + 定时任务 + DevOps流水线中心


⭐二、Jenkins 的核心功能

1. 自动构建(Build)

支持 Maven、Gradle、NPM、Docker 等各种构建方式。

2. 持续集成(CI)

代码提交后自动触发构建与测试,提高协作效率。

3. 持续交付(CD)

配合脚本、Webhook、SSH 等方式,可自动部署到测试环境或生产环境。

4. 强大的插件生态

Jenkins 拥有 1800+ 插件,几乎和所有技术栈联动:

  • Git、GitLab、GitHub
  • Docker、Kubernetes
  • SonarQube
  • Pipeline 可视化流程
  • 邮件通知
  • 测试报告、质量分析

5. 多种触发方式

  • 定时任务(cron 表达式)
  • Git Webhook
  • 手动构建
  • 远程 API

✔ 三、Jenkins 的优缺点

👍优点

优点 说明
完全开源、免费 企业和个人都可使用
插件生态庞大 1800+ 插件,可覆盖全栈使用场景
可扩展性强 Pipeline 流水线支持编程式配置
跨平台 支持 Linux、Windows、Docker 等
易于集成 Git、SonarQube、Harbor、Kubernetes

👎缺点

缺点 说明
UI 传统不够现代 操作界面偏老,需要用插件美化
依赖插件较多 插件过多可能带来维护成本
部署集群稍麻烦 Jenkins HA(高可用)配置复杂
占用资源较高 构建任务多时需要较强硬件

🛠 四、CentOS 9 下使用 1Panel 安装 Jenkins(最简单的方法)

以下步骤是当前 最推荐、最稳定 的 Jenkins 部署方式------使用 Docker 安装。

### 步骤 1:登录 1Panel 后台

浏览器访问:

复制代码
http://你的服务器IP:33772

输入账户密码登录控制台。


步骤 2:打开"应用商店"

左侧菜单 → 应用商店

搜索框输入:jenkins

即可看到官方 Jenkins Docker 应用。


步骤 3:点击"安装"

进入安装界面后,你可以配置:

  • 容器名称:jenkins
  • 端口映射:9001
  • 环境变量(一般保持默认)

推荐配置:

项目
宿主机端口 9001
镜像 jenkins/jenkins:2.528.2-lts

确认无误后点击 "确定安装"


步骤 4:等待容器启动

点击左侧"容器管理",查看 Jenkins 状态。

当状态为 Running 即已启动成功。


🎉 五、访问 Jenkins 并完成初始化

浏览器打开:

复制代码
http://服务器IP:9001

第一次进入 Jenkins 会要求输入初始密码。

获取初始密码

进入服务器或 1Panel 终端:

复制代码
cat /var/jenkins_home/secrets/initialAdminPassword

报错:cat: /var/jenkins_home/secrets/initialAdminPassword: 没有那个文件或目录,是因为在容器里使用的 Jenkins 路径 不是 /var/jenkins_home,而是另一个目录。

你遇到的这个报错 99% 属于 Jenkins 数据卷挂载路径不一致

也就是说:

➡ 你在容器里使用的 Jenkins 路径 不是 /var/jenkins_home,而是另一个目录。

下面我一步步教你找到正确的 initialAdminPassword。


首先查看 Jenkins 容器实际使用的 volume(很重要)

在 1Panel → 容器管理 → 找到 Jenkins 容器 → 查看 挂载目录

或者用命令行查看:

bash 复制代码
docker inspect jenkins

然后看 "Mounts" 字段:

例子如下:

json 复制代码
  "Mounts": [
        {
            "Type": "bind",
            "Source": "/opt/1panel/apps/jenkins/jenkins/data",
            "Destination": "/var/jenkins_home",
            "Mode": "rw",
            "RW": true,
            "Propagation": "rprivate"
        },
        {
            "Type": "bind",
            "Source": "/var/run/docker.sock",
            "Destination": "/var/run/docker.sock",
            "Mode": "rw",
            "RW": true,
            "Propagation": "rprivate"
        },
        {
            "Type": "bind",
            "Source": "/usr/bin/docker",
            "Destination": "/usr/bin/docker",
            "Mode": "rw",
            "RW": true,
            "Propagation": "rprivate"
        }
    ]

解释:

  • 容器内路径:/var/jenkins_home
  • 宿主机路径:/opt/1panel/apps/jenkins/jenkins/data

你要查看的 initialAdminPassword 是:

宿主机路径(Source) + /secrets/initialAdminPassword

例如:

复制代码
cat /opt/1panel/apps/jenkins/jenkins/data/secrets/initialAdminPassword

复制这个密码粘贴到页面输入框。


选择安装插件

Jenkins 会提示:

  • Install Suggested Plugins(推荐)
  • Select Plugins to install(自定义)

一般选择 推荐插件


创建管理员账号

填写:

  • 用户名
  • 密码
  • 邮箱

即可进入 Jenkins 主界面。


🧪 六、简单案例:构建一个 Java 项目(Maven)

下面演示如何让 Jenkins 自动构建 Java 项目。


① 新建任务

首页 → 新建任务

输入名称:demo-build

选择:自由风格项目


② 配置 Git 仓库

在"源码管理"中选择:

✔ Git

输入仓库地址,例如:

复制代码
https://github.com/you/demo.git

如果私有仓库,需要配置 SSH Key(Jenkins → Credentials)。


③ 配置构建命令(Maven)

在"构建"区域添加构建步骤:

选择:

✔ Execute shell

输入:

bash 复制代码
mvn clean package -DskipTests

④ 构建项目

点击左侧 "立即构建"

即可执行构建流程。

构建日志可在:

📌 左侧 → "构建历史" → 对应日志图标

查看详情。


因为没有安装maven 和 jdk 会报错

shell 复制代码
 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
Avoid second fetch
 > git rev-parse refs/remotes/origin/master^{commit} # timeout=10
Checking out Revision fd9c2eca2aa6ea91d525719cdf7770f957df130a (refs/remotes/origin/master)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f fd9c2eca2aa6ea91d525719cdf7770f957df130a # timeout=10
Commit message: "初始化项目"
First time build. Skipping changelog.
[demo-build] $ /bin/sh -xe /tmp/jenkins9098206804146024099.sh
+ mvn clean package -DskipTests
/tmp/jenkins9098206804146024099.sh: 2: mvn: not found
Build step 'Execute shell' marked build as failure
Finished: FAILURE

因为我的宿主机上有maven 和 jdk,需要将这两个挂载到 jenkins 上

重启,查看容器是否挂载成功

shell 复制代码
[root@redis-master jdk17]# docker exec -it jenkins bash
root@e443707057cc:/# ls /opt/jdk
LICENSE  README  bin  conf  include  jmods  legal  lib  man  release
root@e443707057cc:/# ls /opt/maven
LICENSE  NOTICE  README.txt  bin  boot  conf  lib

④ 重新配置构建命令(Maven)

bash 复制代码
export JAVA_HOME=/opt/jdk
export PATH=$JAVA_HOME/bin:/opt/maven/bin:$PATH
mvn clean package -DskipTests

🎯 七、总结

通过 1Panel 安装 Jenkins 非常高效:

  • 无需手动安装 Java、环境变量等
  • Docker 一键部署
  • 持久化配置自动管理
  • 日志、备份、端口都图形化可视化管理

Jenkins + 1Panel 可轻松搭建一个高效的 DevOps 环境,实现代码自动构建与自动部署。

相关推荐
倔强的石头1061 小时前
Linux 进程深度解析(一):从内核视角看懂进程的本质
linux·运维·服务器
saber_andlibert1 小时前
【docker】入门基础和镜像、容器
linux·运维·docker·容器
不想画图1 小时前
数据库概念和编译安装mysql流程
linux·数据库·mysql
lvbinemail1 小时前
Jenkins实现持续集成和持续部署[小白教程,按照文档配置即可实现]
jenkins·持续集成·cicd·持续交付·自动部署·继续部署·运维自动化
郝学胜-神的一滴1 小时前
Linux信号的概念与机制
linux·服务器·开发语言·c++·程序人生
云计算老刘1 小时前
5. MariaDB 数据库管理
linux·运维·服务器·centos
_lst_1 小时前
Linux进程切换与调度
linux·运维·服务器
w***95491 小时前
运维实战---多种方式在Linux中部署并初始化MySQL
linux·运维·mysql
双子座断点1 小时前
Ubuntu 硬盘扩容
linux·运维·ubuntu