在持续集成与持续部署(CI/CD)的实践中,Jenkins 作为一款开源的自动化服务器,扮演着至关重要的角色,它能够自动化构建、测试和部署软件,极大地提升了开发团队的效率和软件质量,本文将详细介绍如何在 CentOS 7 系统上一步步配置 Jenkins 环境,从环境准备到初始设置完成,助您顺利搭建起强大的自动化流水线。
环境准备
在开始安装之前,请确保您的系统满足以下基本条件:
- 操作系统:一台运行 CentOS 7 的服务器,并拥有 root 权限或 sudo 权限的用户。
- 网络连接:服务器需要能够访问互联网,以便下载 Jenkins 及其依赖的软件包。
- Java 环境:Jenkins 是基于 Java 开发的,因此需要安装 Java 运行环境(JRE)或 Java 开发工具包(JDK),推荐使用 OpenJDK 11 或更高版本。
第一步:安装 Java 环境
Jenkins 对 Java 版本有特定要求,对于较新版本的 Jenkins,OpenJDK 11 是一个稳定且推荐的选择,您可以使用 yum
包管理器轻松安装。
执行以下命令来安装 OpenJDK 11:
sudo yum install -y java-11-openjdk java-11-openjdk-devel
安装完成后,通过以下命令验证 Java 是否已成功安装并查看其版本:
java -version
如果输出显示了 OpenJDK 的版本信息(”openjdk version “11.0.xx”),则表示 Java 环境已准备就绪。
第二步:添加 Jenkins 仓库
Jenkins 官方并未直接包含在 CentOS 7 的默认软件仓库中,为了能够使用 yum
安装并方便地更新 Jenkins,我们需要手动添加 Jenkins 的官方仓库。
导入 Jenkins 的 GPG 密钥,以确保软件包的完整性和安全性:
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
创建并编辑 Jenkins 的仓库配置文件:
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
这个命令会从 Jenkins 官方源下载仓库文件并保存到系统的 yum.repos.d
目录下。
第三步:安装 Jenkins
Jenkins 仓库已经添加到系统中,我们可以像安装其他软件一样安装 Jenkins了。
执行以下命令进行安装:
sudo yum install jenkins -y
yum
会自动处理依赖关系并从我们刚刚添加的仓库中下载最新稳定版的 Jenkins 进行安装。
第四步:启动并设置 Jenkins 开机自启
安装完成后,Jenkins 作为一个系统服务存在,我们需要启动它,并设置为开机自动启动,以确保服务器重启后 Jenkins 服务能够正常运行。
使用 systemctl
命令来管理 Jenkins 服务:
# 启动 Jenkins 服务 sudo systemctl start jenkins # 设置 Jenkins 开机自启 sudo systemctl enable jenkins
为了确认 Jenkins 服务是否正在正常运行,可以检查其状态:
sudo systemctl status jenkins
如果状态显示为 active (running)
,则表示 Jenkins 已成功启动。
第五步:配置防火墙规则
CentOS 7 默认使用 firewalld
作为防火墙管理工具,Jenkins 默认监听 8080 端口,为了能够从外部浏览器访问 Jenkins 的 Web 界面,我们需要在防火墙中开放此端口。
执行以下命令:
# 永久开放 8080 端口 sudo firewall-cmd --permanent --add-port=8080/tcp # 重新加载防火墙配置,使规则生效 sudo firewall-cmd --reload
您可以通过 sudo firewall-cmd --list-ports
命令来验证 8080 端口是否已成功开放。
第六步:完成 Jenkins 初始化配置
所有服务器端的配置都已完成,最后一步是通过浏览器进行图形化的初始化设置。
访问 Jenkins:在您的本地浏览器中,输入
http://<您的服务器IP地址>:8080
,您将看到 Jenkins 的解锁页面。获取初始管理员密码:页面会提示您查看一个特定的文件来获取初始密码,使用以下命令在服务器上查看该文件内容:
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
将显示的长串密码复制并粘贴到浏览器页面的密码输入框中,然后点击“Continue”。
安装插件:Jenkins 会询问您如何安装插件,选择“Install suggested plugins”(安装推荐的插件),这是一个为初学者准备的选项,会自动安装一套常用的插件,如 Git、Pipeline 等,等待安装过程完成。
创建管理员用户:插件安装完成后,页面会引导您创建第一个管理员用户,填写用户名、密码、全名和电子邮件地址,然后点击“Save and Continue”。
配置实例 URL:Jenkins 会要求您确认其实例 URL,通常保持默认的
http://<您的服务器IP地址>:8080/
即可,点击“Save and Finish”。
至此,您已经成功在 CentOS 7 上配置好了 Jenkins,点击“Start using Jenkins”,即可开始探索其强大的功能,创建您的第一个自动化任务。
相关问答 FAQs
我忘记了 Jenkins 管理员密码,也无法找到初始密码文件,该如何重置?
解答:如果初始密码文件 /var/lib/jenkins/secrets/initialAdminPassword
已被删除,您可以通过修改 Jenkins 的配置文件来重置密码,请按照以下步骤操作:
- 停止 Jenkins 服务:
sudo systemctl stop jenkins
。 - 备份 Jenkins 的主配置文件:
sudo cp /var/lib/jenkins/config.xml /var/lib/jenkins/config.xml.bak
。 - 编辑
config.xml
文件:sudo vi /var/lib/jenkins/config.xml
。 - 在文件中找到
<useSecurity>true</useSecurity>
这一行,将其修改为<useSecurity>false</useSecurity>
,然后保存并退出。 - 启动 Jenkins 服务:
sudo systemctl start jenkins
。 - 现在您可以不输入任何密码直接访问 Jenkins,进入“Manage Jenkins” -> “Manage Users”,选择您的管理员账户进行密码修改。
- 修改完密码后,务必再次编辑
config.xml
文件,将<useSecurity>false</useSecurity>
改回<useSecurity>true</useSecurity>
,然后重启 Jenkins 服务以恢复安全设置。
Jenkins 默认使用 8080 端口,但这个端口已被其他服务占用,我该如何修改 Jenkins 的监听端口?
解答:您可以通过修改 Jenkins 的系统配置文件来更改其监听端口。
- 编辑 Jenkins 的配置文件:
sudo vi /etc/sysconfig/jenkins
。 - 在文件中找到
JENKINS_PORT="8080"
这一行。 - 将
8080
修改为您希望使用的端口号,JENKINS_PORT="8081"
。 - 保存并退出编辑器。
- 如果您修改了端口,请记得在防火墙中开放新的端口(
sudo firewall-cmd --permanent --add-port=8081/tcp
)并重新加载防火墙配置。 - 重启 Jenkins 服务以使更改生效:
sudo systemctl restart jenkins
。
之后,您就可以通过新端口http://<您的服务器IP地址>:8081
来访问 Jenkins 了。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复