家用住宅主机Linux Jenkins

很多人觉得CI/CD流水线是公司服务器才玩得转的东西,其实只要一台能跑Linux的旧电脑,在家也能搭一套自动化发布系统。
这篇教程我会用最直白的方式,带你从零开始把家用机变成Jenkins自动化部署中心。

先看看你需要准备什么

硬件方面,任意一台能装Linux的电脑都行,哪怕是几年前的旧笔记本或低功耗主机(比如树莓派)。
操作系统推荐Ubuntu Server 22.04 LTS,稳定且社区支持好。
你需要确保这台机器能联网,并且有一个本地静态IP(或者你在路由器上做MAC绑定,防止重启后IP变化)。
如果家中有公网IP最好,没有的话用内网局域网也能用,区别只是外部无法直接访问Jenkins面板。

软件方面,你得准备好Git仓库(GitHub/Gitee/GitLab都行)以及目标站点服务器的SSH登录信息。
本站点可以是同一台机器上的Nginx服务,也可以是另一台内网服务器。

在家用机上安装Jenkins(一步都不能省)

登录你的Linux系统,先更新软件包并安装Java(Jenkins依赖Java 11或17):

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

验证Java版本:java -version
接着添加Jenkins官方仓库并安装:

curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key | sudo tee /usr/share/keyrings/jenkins-keyring.asc > /dev/null
echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] https://pkg.jenkins.io/debian-stable binary/ | sudo tee /etc/apt/sources.list.d/jenkins.list > /dev/null
sudo apt update
sudo apt install jenkins -y

安装完成后,Jenkins会默认监听8080端口。
先确认服务已启动:sudo systemctl status jenkins
如果没启动,用sudo systemctl start jenkins

下一步要放行防火墙。
如果你用了ufw(Ubuntu自带),执行:

sudo ufw allow 8080
sudo ufw reload

现在在浏览器里输入http://你的家用机IP:8080,看到“解锁Jenkins”页面说明安装成功。
初始密码用sudo cat /var/lib/jenkins/secrets/initialAdminPassword查看。
复制粘贴进去,按提示安装推荐插件并创建管理员用户。

配置CI/CD任务:从拉代码到自动发布

登录Jenkins后,我们创建一个“自由风格软件项目”。
假设你的代码托管在GitHub,目标站点是一台内网服务器(IP为192.168.1.100),通过SSH部署。

  1. 源码管理:选“Git”,填写仓库URL,添加注册凭据(用户名/密码或SSH密钥)。如果仓库是私有的,需要先在本机生成SSH密钥并添加到GitHub:ssh-keygen -t rsa -b 4096,然后把公钥加到GitHub的SSH设置里,私钥路径填入Jenkins凭据管理。
  2. 构建触发器:勾选“Poll SCM”或“GitHub hook trigger”。家用机没有公网IP的话,只能选轮询(比如每分钟检查一次:* * * * *)。
  3. 构建:添加构建步骤“执行shell”,写你的构建命令。比如一个Node.js项目可以写:
   npm install
   npm run build

如果你的站点是静态文件,构建完成后需要复制到服务器目录。

  1. 构建后操作:比如通过SSH推送文件到目标服务器。推荐安装“Publish Over SSH”插件,然后在系统设置里配置远程服务器的IP、私钥和目录。构建后操作选择“Send build artifacts over SSH”,设置源文件路径和目标目录。

保存任务后,手动点“立即构建”测试一次。
如果一切正常,下次你往Git仓库推送代码时(或者轮询间隔内),Jenkins就会自动拉取、构建并发布。

家用机必须留意的三个坑

  • IP变化:家用宽带上网多是动态IP,内网IP也可能变。推荐在路由器里给这台主机绑定静态内网IP,否则Jenkins地址会变。如果你需要外网访问,必须配合DDNS(如花生壳)和端口转发。
  • 端口被运营商封锁:国内家庭宽带的80、443端口几乎不可用,Jenkins的8080端口通常正常。如果公网访问不了,就老老实实走内网或使用反向代理如frp。
  • 权限与SSH密钥:Jenkins默认以jenkins用户运行,该用户的家目录在/var/lib/jenkins。你生成的SSH密钥要放到该目录的.ssh下,并确保权限为600。否则SSH连接会失败。

验证你的自动化流水线是否生效

测试方法很简单:修改你Git仓库里任一文件(比如首页标题),提交并推送到远端。
如果配置了轮询,等一分钟左右(具体取决于轮询间隔),登录Jenkins查看对应任务是否自动触发并构建成功。
然后访问你的站点,确认内容已更新。
如果一切顺利,你的家用住宅主机Jenkins CI/CD自动化发布站点就正式运行了。

高频问题解答

Q:家用机性能太弱,跑Jenkins会卡吗?
A:Jenkins本身对资源要求很低,512MB内存就能跑。如果你的构建任务很重(比如编译大型项目),建议使用主/从架构,家用机只当master。

Q:Jenkins面板中文乱码?
A:安装“Locale”插件,在系统管理里设置语言为“zh_CN”,重启即可。

Q:构建完成后站点没更新
A:先检查构建日志,看部署脚本是否执行成功。SSH到目标服务器手动运行部署命令验证脚本有无错误。常见问题是目标目录权限或路径写错。

如果你正在用自己的家用机折腾自动化发布,建议先按本文步骤完整走一遍,确认网络和SSH连接都没问题再添加复杂构建逻辑。
遇到异常时优先查看构建日志和控制台输出,80%的问题都能靠日志解决。

分享到:
上一篇
外贸站宝塔面板数据库主从同步故障排查修复
下一篇
跨境独立站宝塔面板服务器磁盘空间爆满清理
1
系统公告

机房迁移升级通知

尊敬的用户: IP 段 103.23.148.x、156.224.29.x 原香港一区线路波动、攻击频繁,平台定于 7 月 5 日凌晨分批迁移至香港 GIA 机房,硬件升级 AMD 铂金机型。 迁移均在凌晨操作,最大程度降低业务影响,迁移期间服务器临时关机; 升级后配置不降低、费用不涨价,数据默认同步迁移; 迁移后 IP 全部更换,请及时修改域名解析、防火墙白名单; 建议提前备份重要数据,有问题可联系在线客服。 感谢理解与支持! 泽御云科技 2026.06.30
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意