温馨提示×

Linux Jenkins部署全攻略

小樊
61
2025-10-09 17:17:37
栏目: 智能运维

Linux环境下Jenkins全流程部署与配置指南

一、部署前准备

1. 系统要求

  • 操作系统:支持Ubuntu、Debian、CentOS、Fedora等主流Linux发行版;
  • Java环境:Jenkins依赖Java运行,推荐安装OpenJDK 11(或JDK 11+),需配置JAVA_HOME环境变量;
  • 磁盘空间:至少预留1GB可用空间(Docker部署建议10GB以上);
  • 内存:最低256MB(生产环境推荐1GB+,避免频繁内存溢出)。

2. 关键依赖安装

  • 工具包:安装curlwgetunzip等基础工具(用于下载和解压文件);
  • 包管理器:Ubuntu/Debian使用apt,CentOS使用yum(确保包管理器可正常使用)。

二、Jenkins安装步骤

1. 安装Java环境(若未安装)

以Ubuntu/Debian为例,安装OpenJDK 11:

sudo apt update
sudo apt install -y openjdk-11-jdk

验证安装:

java -version  # 输出应包含"openjdk version 11.x.x"

配置JAVA_HOME(全局生效):

echo "export JAVA_HOME=$(readlink -f /usr/bin/javac | sed 's:/bin/javac::')" >> ~/.bashrc
source ~/.bashrc

2. 添加Jenkins官方仓库

Ubuntu/Debian:

wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
sudo sh -c 'echo deb https://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt update

CentOS:

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 update

3. 安装Jenkins

Ubuntu/Debian:

sudo apt install -y jenkins

CentOS:

sudo yum install -y jenkins

4. 启动Jenkins服务

sudo systemctl start jenkins  # 启动服务
sudo systemctl enable jenkins # 设置开机自启
sudo systemctl status jenkins # 查看状态(应显示"active (running)")

5. 配置防火墙(若启用)

允许Jenkins默认端口(8080)通过防火墙:

Ubuntu(ufw):

sudo ufw allow 8080
sudo ufw enable

CentOS(firewalld):

sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --reload

三、初始配置

1. 解锁Jenkins

首次访问http://<服务器IP>:8080,需输入初始密码:

sudo cat /var/lib/jenkins/secrets/initialAdminPassword  # 查看密码

输入密码后点击"Continue"。

2. 安装插件

  • 推荐方式:选择"Install suggested plugins"(自动安装Git、Maven、Pipeline等常用插件);
  • 离线安装:若网络受限,可提前下载插件(如git.hpimaven.hpi),上传至/var/lib/jenkins/plugins/目录,重启Jenkins生效。

3. 创建管理员用户

填写用户名、密码、邮箱等信息,点击"Save and Finish",完成初始配置。

四、核心配置

1. 配置全局工具(JDK、Maven、Git)

进入Manage Jenkins > Global Tool Configuration

  • JDK:点击"Add JDK",设置名称(如"jdk11"),取消"Install automatically"(若已手动安装),填写JDK路径(如/usr/lib/jvm/java-11-openjdk-amd64);
  • Maven:点击"Add Maven",设置名称(如"maven3"),取消"Install automatically",填写Maven路径(如/usr/local/maven);
  • Git:点击"Add Git",设置名称(如"default"),填写Git可执行文件路径(如/usr/bin/git)。

2. 配置Jenkins URL

进入Manage Jenkins > Configure System,修改"Jenkins Location"中的"URL"(如http://your-server-ip:8080),点击"Save"。

3. 性能优化(可选)

  • 调整内存:编辑/etc/sysconfig/jenkins(CentOS)或/etc/default/jenkins(Ubuntu),修改JAVA_OPTS
    JAVA_OPTS="-Xmx2048m -Xms1024m"  # 分配2GB最大内存、1GB初始内存
    
  • 限制并发构建:进入Manage Jenkins > Configure System,修改"Number of executors"(如设置为2,避免资源过度占用)。

五、创建第一个Job(以自由风格项目为例)

  1. 点击"New Item",输入项目名称(如"MyJavaProject"),选择"Freestyle project",点击"OK";
  2. 配置源码管理:选择"Git",填写Repository URL(如https://github.com/your-repo/project.git),若有凭证需添加;
  3. 配置构建触发器:可选择"Poll SCM"(定时拉取代码,如H/5 * * * *表示每5分钟检查一次)或"Webhook"(代码推送时自动触发);
  4. 配置构建步骤:点击"Add build step",选择"Invoke top-level Maven targets"(若项目为Maven项目),填写Goals(如clean package);
  5. 保存并构建:点击"Save",返回项目页面,点击"Build Now"即可开始构建。

六、常见问题解决

1. 端口冲突

若8080端口被占用,修改Jenkins端口:

  • 编辑/etc/sysconfig/jenkins(CentOS)或/etc/default/jenkins(Ubuntu),修改HTTP_PORT
    HTTP_PORT=8081
    
  • 重启Jenkins:
    sudo systemctl restart jenkins
    

2. 插件安装失败

  • 原因:网络问题或Jenkins更新中心不可达;
  • 解决:更换国内镜像源(如清华源),进入Manage Jenkins > Plugin Manager > Advanced,修改"Update Site"为:
    https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
    

3. 内存不足

若出现OutOfMemoryError,需增加JVM内存(参考"性能优化"部分),并重启Jenkins。

七、进阶扩展(可选)

  • 分布式构建:配置Master-Agent模式,将构建任务分发至多个Agent节点,提升构建效率;
  • Docker集成:在Jenkins Job中调用Docker命令,实现容器化构建和部署;
  • CI/CD流水线:使用Jenkinsfile定义流水线脚本,实现代码拉取、构建、测试、部署全流程自动化。

0