在Linux上部署Jenkins的详细指南

引言

在当今快速迭代的软件开发环境中,持续集成和持续交付(CI/CD)变得越来越重要。Jenkins作为一个开源自动化服务器,能够帮助开发者更高效地进行代码集成、测试和部署。本文将详细介绍如何在Linux系统上安装和配置Jenkins。

准备工作

更新系统

无论你使用的是基于Debian的系统还是RHEL系列,首先确保系统更新至最新状态:

bash 复制代码
sudo apt update && sudo apt upgrade -y  # Debian/Ubuntu
# 或者
sudo yum update -y  # CentOS/RHEL

安装Java

Jenkins依赖于Java环境,因此我们需要先安装OpenJDK 11:

对于Debian/Ubuntu:

bash 复制代码
sudo apt install openjdk-11-jdk -y

对于CentOS/RHEL:

bash 复制代码
sudo yum install java-11-openjdk-devel -y

验证安装:

bash 复制代码
java -version

安装Jenkins

添加Jenkins仓库并安装

Debian/Ubuntu:
bash 复制代码
wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt update
sudo apt install jenkins -y
CentOS/RHEL:
bash 复制代码
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.key
sudo yum install jenkins -y

启动并启用Jenkins服务

安装完成后,启动Jenkins并设置为开机自启:

bash 复制代码
sudo systemctl start jenkins
sudo systemctl enable jenkins

配置防火墙规则(可选)

如果你的服务器有防火墙,记得开放8080端口以便访问Jenkins界面:

UFW (Ubuntu):
bash 复制代码
sudo ufw allow 8080
sudo ufw reload
Firewalld (CentOS):
bash 复制代码
sudo firewall-cmd --permanent --zone=public --add-port=8080/tcp
sudo firewall-cmd --reload

访问Jenkins

现在可以通过浏览器访问http://<你的服务器IP>:8080来进入Jenkins初始化页面。按照提示输入初始管理员密码(位于/var/lib/jenkins/secrets/initialAdminPassword),然后根据向导完成安装。

结论

通过以上步骤,我们已经成功在Linux服务器上部署了Jenkins。接下来可以根据项目需求进一步配置Jenkins,比如安装插件、创建任务等。希望这篇指南能帮助你顺利开启Jenkins之旅,实现高效的CI/CD流程。


注意: 根据实际情况调整命令中的细节,如操作系统版本、特定需求等。希望这篇文章对你有所帮助!

相关推荐
Xの哲學7 分钟前
Linux RCU (Read-Copy-Update) 机制深度分析
linux·网络·算法·架构·边缘计算
東雪蓮☆8 分钟前
Linux 网络流量监控 Shell 脚本详解(支持邮件告警)
linux·运维·服务器
三无少女指南39 分钟前
WSL2环境下因服务器重装引发的SSH连接问题排查记录
运维·服务器·ssh
小跌—1 小时前
Linux:进程信号理解
linux·c++·算法
Tadas-Gao1 小时前
阿里云通义MoE全局均衡技术:突破专家负载失衡的革新之道
人工智能·架构·大模型·llm·云计算
東雪蓮☆1 小时前
使用 Shell 脚本监控服务器 IOWait 并发送邮件告警
linux·运维·服务器
Lin_Aries_04212 小时前
在 CentOS 9 上安装 Docker 的完整指南
linux·docker·centos
我是海飞2 小时前
外置flash提示音打包脚本
运维·服务器·音视频·嵌入式
丁满与彭彭3 小时前
嵌入式学习笔记--Linux系统编程阶段--DAY06进程间通信-消息队列
linux·笔记·学习