Jenkins教程及安装手册

Sabthever

一. Jenkins介绍

CI/CD工具,可利用流水线对于代码持续集成并且自动测试。

什么是CI/CD?大模型介绍(问就是懒):

1️⃣ CI(Continuous Integration,持续集成)

  • 核心目标:频繁将代码合并到主干,自动测试,尽早发现问题
  • 典型流程
    • 开发者提交代码 → 自动触发构建 → 运行单元/集成测试 → 生成测试报告。
  • 工具:GitHub Actions、GitLab CI、Jenkins、Azure DevOps。

2️⃣ CD 有两种解释(根据上下文区分):

  • 持续交付(Continuous Delivery)
    代码通过测试后,自动打包成可部署的版本(如Docker镜像),但需人工审批才能发布到生产环境。
  • 持续部署(Continuous Deployment)
    代码通过测试后,无需人工干预,自动部署到生产环境(如Kubernetes滚动更新)。

🌰 生活化比喻

  • CI:像“自动质检流水线”,每次提交代码都检查是否“次品”。
  • CD:像“自动发货”,质检通过后,直接发到用户手中(或先放到仓库等待人工确认)。

二. Jenkins安装

提供两种方法,一种是镜像部署,一种是手动部署。

Ⅰ. 镜像部署

首先要安装配置好docker,详情可参考Docker安装和使用

  1. 拉取Jenkins镜像

    拉取Jenkins官方带有LTS(长期支持)版本的镜像:

    1
    docker pull jenkins/jenkins:lts-jdk11
  2. 创建挂在目录

    在宿主机上创建 Jenkins 的工作目录,并赋予权限:

    1
    2
    mkdir -p /home/jenkins_data
    chmod 777 /home/jenkins_data

    此目录将用于存储 Jenkins 的配置、插件和构建数据。

  3. 启动 Jenkins 容器

    运行以下命令启动容器,并完成挂载:

    1
    2
    3
    4
    5
    6
    7
    docker run -d --name jenkins \
    -p 8080:8080 -p 50000:50000 \
    -v /home/jenkins_data:/var/jenkins_home \
    -v $(which docker):/usr/bin/docker \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -u 0 --restart=on-failure:3 \
    jenkins/jenkins:lts-jdk11

    参数说明:

    • -p:映射端口,8080 为 Jenkins Web 界面,50000 为代理通信端口。
    • -v:挂载数据卷,包括 Jenkins 工作目录和 Docker 环境。
    • -u 0:以 root 用户运行,解决权限问题。
    • --restart=on-failure:3:容器异常退出时自动重启,最多尝试 3 次。
  4. 获取初始管理员密码

    启动后,通过以下命令查看初始密码:

    1
    docker exec -it jenkins cat /var/jenkins_home/secrets/initialAdminPassword
  5. 配置插件下载加速

    为提高插件下载速度,可修改更新中心配置:

    • 进入容器:

      1
      docker exec -it jenkins /bin/bash
    • 修改更新文件:

      1
      sed -i 's|updates.jenkins-ci.org|mirrors.tuna.tsinghua.edu.cn/jenkins|g' /var/jenkins_home/updates/default.json
    • exit推出容器后重启容器:

      1
      docker restart jenkins

Ⅱ. 手动部署

手动部署要先安装好JDK,详细安装方式请参考JDK下载(绿色版)。还有git、maven自己都要下载。

太懒待写 或者参考文章Jenkins教程(自动化部署)[1]

三. Jenkins初始化

  1. http://ip:port打开jenkins,ip是jenkins所在服务器ip,port是之前配置的端口。

    然后把安装姐u但保存的初始密码填入下一步

https://pic1.sabthever.cn/Blog_Base_Resouces/
image-20250801132407668

  1. 安装插件

    image-20250801132758477

  2. 安装好后出现管理员用户创建界面,可以创建一个,也可以点击下面的使用admin账号继续

    image-20250801133826458

  3. 配置地址

    image-20250801134049945

  4. 进入主界面

    image-20250801134247896

  5. Jenkins中配置JDK路径

    Dashboard->系统管理->全局工具配置->JDK->新增JDK

    其中JAVA_HOME要与之前配置的JDK名一致。用docker配置的话位置默认为/opt/java/openjdk,自己安装Jenkins的话位置看自己配置的JDK。
    下面普遍用

    image-20250801162703107

    演示安装Maven。
    image-20250802121819396

  6. 如果要部署Maven项目要下载Maven插件

    Dashboard->系统管理->插件管理->Available plugins

    搜索Maven Integration安装插件

    image-20250802122039553

    http://192.168.179.180:8080/restart重启Jenkins,然后点击**新建**就能看到Maven项目选项。

    image-20250802122320798

  7. Git集成

    如果不用容器,需要先在环境中安装git。

    1
    2
    3
    4
    # 安装
    $ yum install git -y
    # 查看版本
    $ git --version

    看一下Dashboard->系统管理->插件管理->Available plugins

    是否有已经安装好的git插件,没有的话,需要在可选插件中去下载。

    在Dashboard->系统管理->全局工具配置->git中 选取默认的内容

四. Jenkins的使用

(一) 配置凭证[1]

该部分引用文章1。凭据就是用来存储需要密文保护的数据库密码、Gitee密码信息、Docker私有仓库密码等,以便 Jenkins可以和这些第三方的应用进行交互。

  1. 凭证插件安装Credentials Binding

    img

    该插件默认在一开始就会被安装,安装后在jenkins-》系统管理-》安全栏目会出现Manage Credentials选项,若没有需要安装插件并重启。

    img

    img

    img

    img

    img

    img

    img

    img

    img

(二) ssh免密登录

这个后面写脚本可能会用到,因为Jenkins很多时候是部署在独立服务器上的,build过程资源消耗较大,所以需要把打好的包送到其他服务器上运行。

这个配置网上挺多的,自己找找,或者根据这个改改 CentOS7配置单向免密码登陆及不生效问题解决

(三)

引用

[1] Jenkins教程(自动化部署)

  • 标题: Jenkins教程及安装手册
  • 作者: Sabthever
  • 创建于 : 2025-08-01 10:16:38
  • 更新于 : 2025-10-09 16:14:31
  • 链接: https://sabthever.cn/2025/08/01/technology/operation/Jenkins/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。