Linux 服务器搭建如何部署 Jenkins 持续集成

作者:袖梨 2026-08-24

Jenkins在Linux部署需装对Java(OpenJDK 17/21)、选包管理器或Docker安装、开放8080端口、配置Git/JDK/凭证插件;初始化后可实现提交即拉取、构建、测试、推送的自动化流水线。

Jenkins 在 Linux 服务器上部署,核心是“装对 Java、选对方式、通得过端口、配得上源码”。它不是装完就跑,而是让代码提交后能自动拉、自动构、自动验、自动推——整条链路要稳。

先确认 Java 环境(硬门槛)

Jenkins 是 Java 应用,没 JDK 就起不来。2026 年必须用 OpenJDK 11 或更高版本(推荐 17 或 21),JDK 8/11 以下会直接启动失败。

  1. 检查当前版本:java -version,输出需含 11.0.x17.0.x21.0.x
  2. Ubuntu/Debian 安装 OpenJDK 17:sudo apt update && sudo apt install -y openjdk-17-jdk
  3. CentOS/RHEL/Fedora 安装 OpenJDK 17:sudo dnf install -y java-17-openjdk-devel
  4. 设为默认(可选但建议):sudo update-alternatives --config java,选对应版本

选一种安装方式(按需求定)

不推荐手动运行 WAR 包(数据易丢、权限混乱、升级麻烦),生产环境优先用包管理器或 Docker。

  1. APT/YUM 最新源安装(适合长期运维):自动创建 jenkins 用户、systemd 服务、日志路径和开机自启。Ubuntu 加密钥→加源→apt install jenkins;CentOS 导入 key→建 repo→dnf install jenkins
  2. Docker 运行(新手友好、隔离性强)

    docker pull jenkins/jenkins:lts

    docker run -d -p 8080:8080 -p 50000:50000 --name jenkins -v /var/jenkins_home:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock jenkins/jenkins:lts

    注意挂载 /var/run/docker.sock,否则容器内无法调用宿主机 Docker 构建镜像

开放端口并完成初始化(别卡在第一步)

Jenkins 默认监听 8080,首次访问需初始密码,且必须放行该端口才能进 Web 界面。

  1. Ubuntu/Debian:sudo ufw allow 8080
  2. CentOS/RHEL:sudo firewall-cmd --permanent --add-port=8080/tcp && sudo firewall-cmd --reload
  3. 云服务器额外检查安全组,确保 8080 对外开放
  4. 获取初始密码:

    APT/YUM 方式:sudo cat /var/lib/jenkins/secrets/initialAdminPassword

    Docker 方式:docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword

  5. 浏览器打开 http://你的服务器IP:8080,粘贴密码,选 “Install suggested plugins”,再创建管理员账户

装插件 + 配工具(让流水线跑起来)

初始化完成后,Jenkins 还不能自动构建,得告诉它怎么拉代码、用什么编译、往哪部署。

  1. 进 “Manage Jenkins → Plugins”,装好:Git(拉代码)、Pipeline(写 Jenkinsfile)、Credentials(存账号密码或 SSH Key)
  2. 进 “Manage Jenkins → Global Tool Configuration”:

    • JDK:添加别名(如 “jdk17”),路径填 /usr/lib/jvm/java-17-openjdk-amd64(用 readlink -f $(which java) 查准)

    • Git:填 /usr/bin/git(Ubuntu/Debian)或 /usr/bin/git(RHEL/CentOS)

  3. 进 “Manage Jenkins → Credentials → System → Global credentials”,添加 GitHub/GitLab 的 Personal Access Token 或 SSH 私钥,供后续拉取私有仓库

部署 Jenkins 不复杂,但容易忽略 Java 版本、端口放行、Docker socket 挂载这些关键点。踩准了,一条从 git push 到服务上线的自动化流水线,半小时就能通。

相关文章

精彩推荐