在持续集成与持续部署(CI/CD)的实践浪潮中,Jenkins 作为一款开源的自动化服务器,扮演着至关重要的角色,本文将详细介绍如何在已经停止主流维护但仍在特定环境中使用的 CentOS 6 系统上,一步步配置和搭建 Jenkins 服务,尽管 CentOS 6 已显老旧,但掌握其上的配置流程,对于维护遗留系统或特定开发环境依然具有现实意义。
准备工作:安装 Java 环境
Jenkins 是一个基于 Java 的应用程序,因此运行它的首要前提是系统中必须安装了 Java 开发工具包(JDK),CentOS 6 默认的软件源中通常包含 OpenJDK 6 或 7,但这些版本较旧,可能与新版 Jenkins 插件存在兼容性问题,强烈推荐安装稳定且广泛支持的 JDK 8。
下载并安装 JDK 8
由于 CentOS 6 的官方源已不提供 JDK 8,我们可以通过添加第三方仓库或直接下载 RPM 包的方式进行安装,这里以采用 RPM 包方式为例,确保了过程的直接性和可控性。
访问 Oracle 官网或通过可信的镜像站找到适用于 Linux x64 的 JDK 8 RPM 安装包(jdk-8uXXX-linux-x64.rpm
),下载完成后,使用 rpm
命令进行安装:
# 将下载的文件上传到服务器,然后执行安装命令 sudo rpm -ivh jdk-8uXXX-linux-x64.rpm
配置 Java 环境变量
安装完成后,需要配置 JAVA_HOME
环境变量,以便 Jenkins 和其他 Java 应用能够正确找到 JDK 路径。
编辑 /etc/profile
文件,在文件末尾添加以下内容:
export JAVA_HOME=/usr/java/jdk1.8.0_XXX # 请根据实际安装路径调整 export PATH=$PATH:$JAVA_HOME/bin export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
保存文件后,执行以下命令使配置立即生效:
source /etc/profile
通过以下命令验证 Java 是否安装成功:
java -version javac -version
如果能看到正确的 JDK 8 版本信息,说明 Java 环境已准备就绪。
安装与配置 Jenkins
Java 环境就绪后,我们开始正式安装 Jenkins。
添加 Jenkins 仓库
为了方便使用 yum
命令安装和管理 Jenkins,我们需要将 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-2025.key
第一条命令下载并放置了仓库配置文件,第二条命令导入了仓库的 GPG 密钥,以确保软件包的安全性。
安装 Jenkins
可以直接使用 yum
命令来安装 Jenkins 了:
sudo yum install jenkins -y
yum
会自动从刚才添加的 Jenkins 仓库中拉取最新稳定版的软件包并进行安装。
启动 Jenkins 服务并设置开机自启
CentOS 6 使用 service
和 chkconfig
命令来管理服务。
# 启动 Jenkins 服务 sudo service jenkins start # 设置 Jenkins 开机自启动 sudo chkconfig jenkins on
可以通过 service jenkins status
命令查看服务的运行状态,确保其正常运行。
配置防火墙
Jenkins 默认监听 8080 端口,如果服务器的防火墙(iptables
)开启,需要放行此端口,否则无法从外部访问其 Web 界面。
# 添加防火墙规则,允许 8080 端口的流量 sudo iptables -I INPUT -p tcp --dport 8080 -j ACCEPT # 保存防火墙规则,防止重启后失效 sudo service iptables save
至此,Jenkins 的服务端配置已全部完成。
初始化 Jenkins
可以通过浏览器访问 Jenkins 了,在浏览器地址栏输入 http://<你的服务器IP地址>:8080
。
首次访问时,Jenkins 会要求解锁,页面会提示初始管理员密码存放的位置,通常在 /var/lib/jenkins/secrets/initialAdminPassword
文件中。
在服务器上执行以下命令获取密码:
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
将输出的密码复制并粘贴到网页的解锁框中,点击“继续”。
Jenkins 会询问如何安装插件,建议选择“安装推荐的插件”,这样可以快速获得一套常用的功能集,Jenkins 会自动下载并安装这些插件。
插件安装完成后,系统会引导你创建第一个管理员用户,填写用户名、密码等信息后,点击“保存并完成”。
点击“开始使用 Jenkins”,即可进入 Jenkins 的主界面,至此,一个功能完备的 Jenkins 服务已在你的 CentOS 6 服务器上成功运行。
为了更清晰地回顾核心命令,下表小编总结了关键操作步骤:
操作阶段 | 命令示例 | 说明 |
---|---|---|
Java 安装 | sudo rpm -ivh jdk-8uXXX-linux-x64.rpm | 安装 JDK 8 RPM 包 |
环境变量 | source /etc/profile | 使修改后的 profile 配置生效 |
添加仓库 | sudo wget -O /etc/yum.repos.d/jenkins.repo ... | 下载 Jenkins 仓库配置文件 |
导入密钥 | sudo rpm --import ... | 导入 GPG 密钥以验证软件包 |
安装 Jenkins | sudo yum install jenkins -y | 使用 yum 安装 Jenkins |
启动服务 | sudo service jenkins start | 启动 Jenkins 守护进程 |
开机自启 | sudo chkconfig jenkins on | 设置 Jenkins 随系统启动 |
防火墙 | sudo iptables -I INPUT -p tcp --dport 8080 -j ACCEPT | 开放 8080 端口 |
获取密码 | sudo cat /var/lib/jenkins/secrets/initialAdminPassword | 获取初始解锁密码 |
相关问答 FAQs
问题1:我访问不了 Jenkins 的 Web 页面(http://IP:8080),可能是什么原因?
解答: 这是一个常见的网络访问问题,请按以下步骤排查:
- 服务状态: 确认 Jenkins 服务是否正在运行,在服务器上执行
sudo service jenkins status
,如果未运行,使用sudo service jenkins start
启动它。 - 防火墙: 这是最常见的原因,请确认
iptables
规则已正确配置并保存,可以执行sudo iptables -L -n
查看 8080 端口是否在ACCEPT
策略中。 - 端口占用: 检查 8080 端口是否被其他程序占用,使用
netstat -tunlp | grep 8080
命令查看。 - IP 地址与网络连通性: 确认你在浏览器中输入的 IP 地址是正确的,并且你的客户端机器能够 ping 通服务器,如果服务器在云平台,还需检查安全组策略是否放行了 8080 端口。
问题2:Jenkins 启动失败,如何进行排查?
解答: Jenkins 启动失败通常与 Java 环境或配置有关,排查思路如下:
- 查看日志: Jenkins 的日志文件是排查问题的首要依据,日志位置为
/var/log/jenkins/jenkins.log
,使用tail -f /var/log/jenkins/jenkins.log
可以实时查看最新的日志信息,通常会有明确的错误提示,例如端口冲突、权限问题或 Java 版本不兼容等。 - Java 版本: 再次确认
JAVA_HOME
是否正确设置,以及java -version
输出的版本是否符合要求,有时系统存在多个 Java 版本,JAVA_HOME
指向错误会导致启动失败。 - Jenkins 用户权限: Jenkins 默认以
jenkins
用户身份运行,检查/var/lib/jenkins
等关键目录的所有者和权限是否正确,确保jenkins
用户有读写权限。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复